运行 对第一次 grep 返回的每个字符串进行第二次 grep

Run second grep on each string returned by first grep

我有两个文件 file1file2 以及一个模式 pattern.

file1cut 中对 pattern 使用 grep,我生成了一些字符串,如下所示:

String1
String2
String3
String4
String5

对于这些字符串中的每一个,我都必须 grep file2。我该怎么做?

目前,我是手动执行此操作,但必须存在更好的方法。我可能可以使用 for 循环来做到这一点,但我想知道是否只是将第一个 grepcut 的结果传递给第二个 grep 无论如何都可以工作。

注意: 如果需要任何其他信息,请告诉我。

您可以将 process substitution-f 选项一起使用:

grep -Ff <(grep -o 'pattern' file1) file2