简而言之:我的命令有问题,该命令应该向我显示包含以下两个表达式之一的行:“ king” “king's son” 。这是我到目前为止的去处:

grep -w "king's son\|king" frog.txt

它确实有效,但是它包括“king's” ,这是不应该发生的。

添加-v grep "king's"无效,因为它也会删除“国王的儿子”

我正在使用Virtual Box Machine上安装的Ubuntu 32位系统。

最佳答案

这应该做到:

grep -E "(^|[ \t])(king|king's son)([ \t]|$)" frog.txt

它使用组(^|[ \t])([ \t]|$)来匹配单词分隔符或行的开头/结尾。

关于linux - Linux->终端命令-> Grep->与符号有关的表达式/异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30549548/

10-13 05:10