2013-01-24 27 views
0

我有13K條目列表,我想確定它在24K文本文件中的存在。 所以最後我想有terms->file names上下文。快速方法Grep多語種詞庫上的多個關鍵詞

使用Unix/bash命令達到這個目的的最好方法是什麼?

我可以使用Perl腳本是這樣,但速度太慢:

#!/usr/bin/perl 
#....skip... 
foreach my $term (@terms) { 
    system("grep $term /corpus/*.txt/") 
} 
+1

找在'fgrep一樣-f terms'信息和'和'xargs' find'。您可能需要根據您的版本使用'grep -F -f terms'。您可能需要重新編譯'fgrep'才能擁有足夠大的緩衝區來接收所有目標。是的,或者將GNU風格的長參數用於每個@Perleone的現代grep答案。祝你好運。 – shellter

回答

2
grep --fixed-strings --word-regexp --with-filename --file=terms.txt --recursive /corpus