我正在尝试做一些非常简单的事情;在目录中的文件上从列表中 grep,字符串的完全匹配:
#try grep each line from the files
for i in $(cat /data/datafile); do
LOOK=$(echo $i);
fgrep -r $LOOK /data/filestosearch >>/data/output.txt
done
与 grep 匹配的文件有 2000 万行,目录有 ~600 个文件,总共 ~4000 万行我可以看到这会很慢,但我们估计需要 7 年。即使我在我们的 HPC 上使用 300 个内核将作业按文件拆分以进行搜索,看起来也可能需要一周多的时间。
有类似的问题:
循环运行非常慢 :
在这里,尽管它们位于不同的平台上,但我认为如果有其他可能对我有帮助。或 fgrep 可能更快(但似乎有点慢,因为我现在正在测试它)谁能看到更快的方法来做到这一点?先感谢您