如何使用 grep 搜索带有“res”或“rep”的行?
我尝试过grep -e res|rep
,grep -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...]
[…]
grep
PATTERNS
在每个FILE
. 中搜索PATTERNS
一个或多个由换行符分隔的模式,grep 会打印与模式匹配的每一行。