unix – grep -f替代大文件

前端之家收集整理的这篇文章主要介绍了unix – grep -f替代大文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
grep -F -f file1  file2

file1是90 Mb(250万行,每行一个字)

file2是45 Gb

无论我让它运行多久,该命令实际上都不会产生任何结果.显然,这超出了grep的范围.

似乎grep无法处理-f选项中的那么多查询.但是,以下命令确实产生了所需的结果:

head file1  >  file3
grep -F -f file3   file2

考虑到文件大小,我怀疑sed或awk是否也是合适的替代品.

我不知道其他选择……请帮忙.学习一些sql命令是否值得?这简单吗?谁能指出我正确的方向?

尝试使用LC_ALL = C.它将搜索模式从UTF-8转换为ASCII,速度提高了原始速度的140倍.我有一个26G的文件,这需要我大约12个小时才能完成几分钟.
资料来源: Grepping a huge file (80GB) any way to speed it up?

所以我做的是:

LC_ALL=C fgrep "pattern" <input >output
原文链接:https://www.f2er.com/bash/385169.html

猜你在找的Bash相关文章