避免在grep结果中使用破折号

避免在grep结果中使用破折号,grep,Grep,我试图选择一行,其中有一个名字“保罗” 这还会返回以paul henri开头的行。如何选择仅以“paul”一词开头的单行 (换句话说,如果后面跟有单词paul,则会选择破折号或斜杠/和点。) 更新: 多亏了蒂姆,这一切都成功了: grep -w '^paul' some_file | grep -vE 'paul[-./?]' 您可以在模式上匹配^paul[^-]: !grep -w '^paul[^-]' some_file 这将匹配以paul开头的任何行,该行后跟除破折号以外的一个或多

我试图选择一行,其中有一个名字“保罗”

这还会返回以paul henri开头的行。如何选择仅以“paul”一词开头的单行

(换句话说,如果后面跟有单词paul,则会选择破折号或斜杠/和点。)


更新:

多亏了蒂姆,这一切都成功了:

grep -w '^paul' some_file | grep -vE 'paul[-./?]'

您可以在模式上匹配
^paul[^-]

!grep -w '^paul[^-]' some_file
这将匹配以
paul
开头的任何行,该行后跟除破折号以外的一个或多个字符。如果还需要匹配以paul开头且仅包含paul的可能行,则可能需要使用负前瞻:

^paul(?!-)
但是,这需要一个扩展版本的
grep
,而您的grep版本可能不支持它

^paul(?!-)