我有一个如下所示的 .txt 文件:
9342432_A1 9342432 1 0 0 0
4392483_A2 4392483 2 0 0 0
4324321_A3 4324321 1 0 0 0
9342432 9342432 2 0 0 0
例如,我想生成 ID 为 4324321_A3 和 9342432 的子集(基于第一列!)。
我尝试使用以下命令来查找精确匹配:
grep -E '4324321_A3|9342432'
但是当我使用这条线时,我最终得到一个像这样的数据集:
9342432_A1 9342432 1 0 0 0
4324321_A3 4324321 1 0 0 0
9342432 9342432 2 0 0 0
问题是与 ID 的一部分 (9342432_A1) 匹配的行不应该存在。
谁能帮我这个?
我想以此结束:
4324321_A3 4324321 1 0 0 0
9342432 9342432 2 0 0 0
它匹配
9342432_A1 9342432 1 0 0 0
因为它有9342432
在第二列中。
您需要更新命令以使 grep 检查以这些单词开头的行,即使用^word
:
$ grep -E '^4324321_A3|^9342432' file
4324321_A3 4324321 1 0 0 0
9342432 9342432 2 0 0 0
为了使其更准确,您还可以使用-w
与完整单词匹配。这边走grep -wE '^4324321_A3|^9342432' file
不会匹配这样的行
4324321_A3something 4324321 1 0 0 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)