- 論壇徽章:
- 22
|
本帖最后由 Windows19 于 2017-07-01 15:40 編輯
想不到題目這么難 改變一下需求
實在不敢到c++版去了 那里實在太荒涼了 那里環境恐怖 陰森森的 還經常有熊出沒
還是perl shell 版塊和諧 而且版主也很有精神 實在應該要贊一下人家了了
進入正題了
100g log 效率 性能
a.txt
4gfgdg\[8654
45345btgtfdfddgggd
/[][ry4353453466434534rtyt/yr'
234235346465'/\.h\'rt;'uy6r\'y7;
gfgdg9687110575448
btgtfdfddgggd\';btgtfdfddgggd
4353453466434534.,/'4353453466434534/'ryrtytryrtlyphft''/
btgtfdfddgggd\';btgtfdfddgggd8654
'\kji']\;\lknokjp8
8u90ulknouh07kno078onk
/[][ry4353453466434534789rtyt/yr'
4gfgdgab\[8654243
已經有1個B文本 需要把這些有關鍵字行取出來 而b文件大小僅5m左右 沒有關鍵字的可以不輸出
精確匹配b文本中關鍵字 后輸出 代碼改為精確匹配b文本中字母時 應區分大小寫
例如b.txt 全是數字串
4353453466434534
234235346465
8654
9687110575448
6789679869797897897879
示例中顏色匹配關鍵子
大概應得結果, log.txt
/[][ry4353453466434534rtyt/yr'
gfgdg9687110575448
4353453466434534.,/'4353453466434534/'ryrtytryrtlyphft''/
btgtfdfddgggd\';btgtfdfddgggd8654
用這個出來結果很正確 但很氣內存 搞不動100g
awk 'BEGIN{FPAT="[0-9]+"}NR==FNR{a[$1]=1;next}NF{f=1;for(i=1;i<=NF;i++)f=f&&a[$i];if(f)print}'
謝謝...
|
|