9 这可以使用带有负向后看的正则表达式解决(实验grep证明,如range 的注释所指出的那样): $ grep -P '(?<!Mr )John Smith' file 由于支持只是实验性的,因此您可能需要使用perl: $ perl -nle 'print if /(?<!Mr )John Smith/' file — 杰科拉多 source 实验上grep支持:echo $string | grep -P '(?<!Mr )John Smith'。 — 安排 @安排确实。谢谢,我将更新答案。 — jcollado 2011年
6 您可以执行 command | grep 'John Smith' | grep -v 'Mr John Smith' — 恩佐替布 source 1 不错的主意,但如果线路有效,将无法正常工作John Smith Mr John Smith John Smith — 罗恩(Ron)
1 要使用正则表达式,请使用^和$ grep "^John Smith$" ^是开头的匹配项,$是结尾的匹配项。 语法将根据您在哪个文件中搜索的内容而有所不同。 您可以对sed,grep,awk ...使用正则表达式。 例 bodhi@Ubuntu:~ cat file Mr John Smith John Smith John Smith bodhi@Ubuntu:~ grep "^John Smith$" file John Smith — 豹 source OP并不要求字符串是其行中唯一的内容。 — enzotib
echo $string | grep -P '(?<!Mr )John Smith'
。