我有一个超过40.000行(file1)的文件,我想提取匹配在file2(约6000行)中的模式的行.我使用这样的grep,但它是非常慢的:
grep -f file2 file1>出
grep -f file2 file1>出
有没有更快的方法来使用awk或sed?
以下是我的文件中的一些摘录:
File1: scitn003869.2| scign003869 CGCATGTGTGCATGTATTATCGTATCCCTTG scitn007747.1| scign007747 CACGCAGACGCAGTGGAGCATTCCAGGTCACAA scitn003155.1| scign003155 TAAAAATCGTTAGCACTCGCTTGGTACACTAAC scitn018252.1| scign018252 CGTGTGTGTGCATATGTGTGCATGCGTG scitn004671.2| scign004671 TCCTCAGGTTTTGAAAGGCAGGGTAAGTGCT
File2: scign000003 scign000004 scign000005 scign004671 scign000013
`
尝试grep -Fwf file2 file1>出
-F选项指定纯字符串匹配,所以应该更快,而不必使用正则表达式引擎.