运行fgrep multicore mac os x

时间:2015-02-12 12:57:55

标签: macos grep multicore

我在8个核心的Mac OS X上运行此命令:

for i in $(cat file1);do grep "$i" file2; done > output.txt

我的文件2我9百万行,所以需要很多时间。

是否可以使用所有核心更快地完成这项工作?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此awk

awk 'FNR==NR {a[$0];next} {for (i in a) if ($0~i) print}' file1 file2  > output.txt

但我猜grep发布的Paul R会更快。

grep -f file1 file2 > output.txt 

答案 1 :(得分:0)

基于http://www.gnu.org/software/parallel/man.html#EXAMPLE:-Grepping-n-lines-for-m-regular-expressions

parallel -k parallel --pipepart --block 100M -a file2 -k grep {} :::: file1