加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 在一个文件中打印行匹配另一个文件中的模式

发布时间:2020-12-16 01:40:37 所属栏目:安全 来源:网络整理
导读:我有一个超过40.000行(file1)的文件,我想提取与file2中的模式匹配的行(约6000行).我像这样使用grep,但它很慢: grep -f file2 file1出 使用awk或sed有更快的方法吗? 这是我文件的一些摘录: File1:scitn003869.2| scign003869 CGCATGTGTGCATGTATTATCGTATCCC
我有一个超过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选项指定纯字符串匹配,因此应该更快,而不必使用正则表达式引擎.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读