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

bash – 如何从字符串列表的文件中grep完全匹配

发布时间:2020-12-15 21:10:10 所属栏目:安全 来源:网络整理
导读:我有一个文件A,其中一列包含如下字符串列表: ADAMTS9AIP.... 我想使用文件A中的字符串来grep文件B中包含它们的行,文件B如下所示: chr13 50571142 50592603 ADAMTS9 21461 +chr19 50180408 50191707 AIP 11299 +chr19 50180408 50193000 AIP-S1 6532 - 我用
我有一个文件A,其中一列包含如下字符串列表:

ADAMTS9
AIP
....

我想使用文件A中的字符串来grep文件B中包含它们的行,文件B如下所示:

chr13   50571142        50592603        ADAMTS9  21461   +
chr19   50180408        50191707        AIP   11299   +
chr19   50180408        50193000        AIP-S1   6532    -

我用过:

grep -F -i -w -f A B

它能够上面所有3行.但是,我只希望前两行是grep’ed而第三行与AIP-S1不完全匹配AIP.

有人能告诉我如何修复命令吗?

谢谢.

解决方法

您可以使用awk代替:

awk 'FNR==NR{a[$1];next} ($4 in a)' A B
chr13   50571142        50592603        ADAMTS9  21461   +
chr19   50180408        50191707        AIP   11299   +

或者在任何领域进行搜索:

awk 'FNR==NR{a[$1];next} {for (i=1; i<=NF; i++) if ($i in a) print}' A B

(编辑:李大同)

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

    推荐文章
      热点阅读