从文本文件列表中获取

时间:2013-02-01 21:59:34

标签: shell grep

我知道我可以找到特定类型的文件,然后一次性grep它们,即

find . -type f -name "*.log" -exec grep -o "some-pattern" {} \;

但我需要分两步完成。这是因为查找操作很昂贵(有很多文件和子目录要搜索)。我想将文件列表保存到文本文件中,然后在需要时反复grep查看此预先计算的文件集上的不同模式。第一部分很简单:

find . -type f -name "*.log" > my-file-list.txt

现在我有一个看起来像这样的文件:

./logs/log1.log
./logs/log2.log
etc

grep是什么样的?我尝试了一些组合,但无法做到正确。

1 个答案:

答案 0 :(得分:20)

xargs grep "your pattern" < my-file-list.txt