我有一个包含 500 个字符串的列表。我想知道它们是否存在于 1770 个文件夹中的 18566 个文件中。我需要存储结果输出。我怎么做?
答案1
该-l
选项通常会打印与搜索词匹配的文件名。该-r
选项将允许 grep 也进入找到的每个目录。选项-f
将告诉 grep 作为模式给出的是一个文件,并且该-F
选项将告诉 grep 搜索精确匹配,而不是正则表达式。
假设字符串列表位于名为 的文件内list
,每个要匹配的单词都在其行中,并且存在某种模式来匹配要检查的所有文件夹。我们做得到:
grep -Ff 'list' -rl folders*
我不知道每行末尾的回车符将如何影响 grep 匹配行或正确处理list
.您应该尝试在包含几个文件的文件夹中使用一个小列表。