我有一个看起来像这样的文件:
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] 删除。
我来说两句