我知道我可以找到特定类型的文件,然后一口气将它们 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 是什么样的?我尝试了一些组合,但无法正确使用。