相关疑难解决方法(0)

最快的grep

我想知道是否有任何提示grep尽可能快.我有一个相当大的文本文件库,以最快的方式搜索.我把它们全都小写了,这样我就可以摆脱-i选择了.这使得搜索速度更快.

此外,我发现-F并且-P模式比默认模式更快.当搜索字符串不是正则表达式(只是纯文本)时,我使用前者,后者如果涉及正则表达式.

有没有人有加速的经验grep?也许用一些特定的标志(我在Linux CentOS上)从头开始编译它,以某种方式组织文件或者以某种方式使搜索并行?

unix bash grep

80
推荐指数
4
解决办法
7万
查看次数

从Bash中另一个较大文件中查找文件行的最快方法

我有两个文件,file1.txtfile2.txt. file1.txt有大约14K线,file2.txt约有20亿. 每行file1.txt有一个字段f1,而file2.txt有3个字段,f1through f3,分隔符|.

我想找到的所有行file2.txt那里f1file1.txt比赛f2file2.txt(或上线的任何位置,如果我们不想花费额外的时间分割的数值file2.txt).

file1.txt(约14K行,未排序):

foo1
foo2
...
bar1
bar2
...
Run Code Online (Sandbox Code Playgroud)

file2.txt(约20亿行,未排序):

date1|foo1|number1
date2|foo2|number2
...
date1|bar1|number1
date2|bar2|number2
...
Run Code Online (Sandbox Code Playgroud)

预期产量:

date1|foo1|number1
date2|foo2|number2
...
date1|bar1|number1
date2|bar2|number2
...
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,似乎需要几个小时才能运行:

fgrep -F -f file1.txt file2.txt > file.matched
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好,更快的方法使用常见的Unix命令或小脚本执行此操作.

linux bash perl awk grep

23
推荐指数
5
解决办法
6306
查看次数

标签 统计

bash ×2

grep ×2

awk ×1

linux ×1

perl ×1

unix ×1