完全匹配的grep

EA00

我有一个看起来像这样的文件:

1   2HE MET 1.8493
1   3HE MET 1.3568
2   H   GLN 6.1731
2   HA  GLN 4.2384
2   2HB GLN 2.2204
2   3HB GLN 1.3062

我使用grep命令:grep H file并获得上面显示的所有行。我只想找那条线2 H GLN 6.1731这些命令我已经使用grep 'H$'file过,grep -x H processed_shifts.out但没有得到任何输出。如何修改grep命令以仅将第3行作为输出?

康纳·史密斯

如果您使用的是GNU grep,则可以使用-w--word-regexp标志,或将正则表达式与单词边界一起包装:grep '\bH\b'

但是,这将是不可移植的,因为POSIX grep缺少该-w标志并且基本和扩展正则表达式都不支持单词边界。因此,如果您希望该命令具有可移植性,则必须执行grep ' H '类似的操作,或者使用更强大的语言(例如AWK:)awk '$2 = "H" { print }'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章