0

我需要一个可以搜索多个模式(基本上是 AND)的 unix 命令,但是这些模式不必在同一行上(否则我可以使用grepAND 命令)。例如,假设我有一个如下文件:

This is first line.
This is second line.
This is last line.

如果我搜索单词“first”和“last”,则上述文件应包含在结果中。

4

2 回答 2

2

试试这个问题,似乎和你的一样,有很多解决方案:How to find patterns across multiple lines using grep?

于 2012-09-23T23:14:04.220 回答
0

我认为而不是 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
于 2012-09-23T23:16:20.960 回答