我有一个文件 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
它能够 grep 以上所有 3 行。但是,我只想对前两行进行 grep 编辑,而带有 AIP-S1 的第三行与 AIP 并不完全匹配。
有人可以告诉我如何修复命令来做到这一点吗?
Thanks.
您可以使用 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)