如何使用 grep 搜索多个选项

如何使用 grep 搜索多个选项

如何使用 grep 搜索带有“res”或“rep”的行?

我尝试过grep -e res|repgrep -e "rep|rep"但都没有用。

答案1

您还可以使用-E选项grep,因此无需转义|,例如:

grep -E 'res|rep' file

或者,您可以使用egrep,它与 相同grep -E

egrep 'res|rep' file

答案2

您需要转义管道字符:

grep 'res\|rep' file

或使用多个-e选项:

grep -e 'res' -e 'rep' file

答案3

  • 正则表达式的排序方式是:

    编辑 grep -nis "re[sp]" <FILENAME>

  • 这样你就会看到所有包含“res”或“rep”的行

  • 还要注意,这-nis在这里并不重要,我只是喜欢这样……:)

答案4

使用的模式字符串grep将换行符视为模式分隔符。因此,使用换行符是搜索多个模式的一种方法。

grep $'res\nrep'

根据 Linuxgrep 手册页(已添加格式):

grep [OPTION...] PATTERNS [FILE...]

[…]

grepPATTERNS在每个FILE. 中搜索PATTERNS一个或多个由换行符分隔的模式,grep 会打印与模式匹配的每一行。

相关内容