我想知道是否有任何提示使grep尽可能快。我有一个相当大的文本文件的基础,以最快的方式搜索。我把它们都小写,所以我可以摆脱-i选项。这使得搜索更快。
另外,我发现-F和-P模式比默认模式快。我使用前者当搜索字符串不是正则表达式(只是纯文本),后者如果regex涉及。
有谁有加速grep的任何经验?也许从头开始编译一些特殊的标志(我在Linux CentOS),以一定的方式组织文件或者可能使搜索以某种方式并行?任何提示是赞赏。谢谢。
尝试
GNU parallel,其中包括
an example of how to use it with
原文链接:https://www.f2er.com/bash/392073.htmlgrep
:
grep -r
greps recursively through directories. On multicore cpus GNU
parallel
can often speed this up.06000
This will run 1.5 job per core,and give 1000 arguments to
grep
.
对于大文件,它可以使用–pipe和–block参数将输入拆分成几个块:
parallel --pipe --block 2M grep foo < bigfile
您还可以通过SSH(ssh代理需要避免密码)在几个不同的机器上运行它:
parallel --pipe --sshlogin server.example.com,server2.example.net grep foo < bigfile