- 论坛徽章:
- 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}'
谢谢...
|
|