来自 grep 手册
‘-f file’
‘--file=file’
从文件中获取模式,每行一个。空文件包含零个模式,因此不匹配任何内容。 (“-f”由 POSIX 指定。)
当文件中有多行时,每行指定的模式如何协同工作?
每个 grep 命令不是只使用一种模式吗?
答案1
当您传递多个模式时,grep 会搜索至少与其中一种模式匹配的行。换句话说,传递多个模式相当于将它们作为单个模式与“or”运算符组合传递(|
在 ERE 语法中 ( grep -E
))。这对于 BRE (plain grep
) 和 string ( ) 模式语法非常有用grep -F
,其中“or”运算符是换行符,作为参数传递很烦人。
您可以通过重复该-e
选项或将该-f
选项与多行文件(或多次)一起使用来传递多个模式。