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

前端之家收集整理的这篇文章主要介绍了unix – grep,awk或sed?在一个文件中打印匹配另一个文件中的模式的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个超过40.000行(file1)的文件,我想提取匹配在file2(约6000行)中的模式的行.我使用这样的grep,但它是非常慢的:
grep -f file2 file1>出

有没有更快的方法来使用awk或sed?

以下是我的文件中的一些摘录:

  1. File1:
  2. scitn003869.2| scign003869 CGCATGTGTGCATGTATTATCGTATCCCTTG
  3. scitn007747.1| scign007747 CACGCAGACGCAGTGGAGCATTCCAGGTCACAA
  4. scitn003155.1| scign003155 TAAAAATCGTTAGCACTCGCTTGGTACACTAAC
  5. scitn018252.1| scign018252 CGTGTGTGTGCATATGTGTGCATGCGTG
  6. scitn004671.2| scign004671 TCCTCAGGTTTTGAAAGGCAGGGTAAGTGCT
  1. File2:
  2. scign000003
  3. scign000004
  4. scign000005
  5. scign004671
  6. scign000013

`

尝试grep -Fwf file2 file1>出

-F选项指定纯字符串匹配,所以应该更快,而不必使用正则表达式引擎.

猜你在找的Bash相关文章