unix – grep,awk或sed?在一个文件中打印匹配另一个文件中的模式的行

前端之家收集整理的这篇文章主要介绍了unix – grep,awk或sed?在一个文件中打印匹配另一个文件中的模式的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个超过40.000行(file1)的文件,我想提取匹配在file2(约6000行)中的模式的行.我使用这样的grep,但它是非常慢的:
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选项指定纯字符串匹配,所以应该更快,而不必使用正则表达式引擎.

原文链接:/bash/386358.html

猜你在找的Bash相关文章