首页 > 解决方案 > 如何使“grep”输出包含匹配项的完整单词?

问题描述

我希望 grep 打印出所有包含匹配项的完整单词。

谷歌没有帮助我。这是我尝试过的:

cat file.txt
21676   Mm.24685    NM_009346   ENSMUSG00000055320
20349   Mm.134093   NM_011348   ENSMUSG00000063531
12456   Mm.134000   NM_011228   GM415666

grep -o "ENSMUS" file.txt
ENSMUS
ENSMUS

期望的输出:

ENSMUSG00000055320
ENSMUSG00000063531

谢谢你的帮助!

标签: grep

解决方案


您可以使用:

grep -wo "ENSMUS[^[:blank:]]*" file.txt
ENSMUSG00000055320
ENSMUSG00000063531

这里[^[:blank:]]*将匹配 0 个或多个不是空格的字符。-w将确保完整的单词匹配。


推荐阅读