grep - 如何使“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 -wo "ENSMUS[^[:blank:]]*" file.txt
ENSMUSG00000055320
ENSMUSG00000063531
这里[^[:blank:]]*
将匹配 0 个或多个不是空格的字符。-w
将确保完整的单词匹配。
推荐阅读
- command-line - 如何自动化此代码以从 txt 输入计算机名。列表?
- node.js - 如何告诉打字稿编译器不使用导出?
- javascript - 如何根据用户使用纯 JS 滚动来转换 div 位置?
- javascript - 在输入值之前,最大长度不会显示,并且在 Backspacing 之后它会减少到 31 个字符
- javascript - JS 中的 react prop 验证有问题
- caching - 清除多台服务器的缓存
- javascript - 仅在我的 HTML5 页面中需要时尝试使用 JS 游戏启动/触发 iframe
- stack-overflow - 使用 gp2c 时堆栈溢出,但在同一程序中直接使用 gp 时不会出现堆栈溢出 (PARI/GP)
- python - 在这个特定的例子中,python 导入是如何工作的
- spring - 带有 Pair 的 HashMap 在数据库中有一个奇怪的值