我需要一个可以搜索多个模式(基本上是 AND)的 unix 命令,但是这些模式不必在同一行上(否则我可以使用grep
AND 命令)。例如,假设我有一个如下文件:
This is first line.
This is second line.
This is last line.
如果我搜索单词“first”和“last”,则上述文件应包含在结果中。
试试这个问题,似乎和你的一样,有很多解决方案:How to find patterns across multiple lines using grep?
我认为而不是 AND 你实际上是指 OR:
grep 'first\|last' file.txt
结果:
This is first line.
This is last line.
如果您有大量模式,请将它们添加到文件中;例如,如果patterns.txt
包含:
first
last
跑:
grep -f patterns.txt file.txt