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?
原文链接:https://www.f2er.com/bash/385169.html资料来源: Grepping a huge file (80GB) any way to speed it up?
所以我做的是:
LC_ALL=C fgrep "pattern" <input >output