首页 > 解决方案 > 在目录中的文件中查找列表的一个单词

问题描述

我有一个包含单词列表的文本文件。我正在寻找如下的 Unix 解决方案:

对于每个单词,如果该单词在文件中,我想在目录的所有文件中搜索,如果可以找到该单词,则返回文件名。这些文件位于目录的子目录中。

我需要一个循环吗?还是有一个特殊的命令可以做到这一点?我找到了“comm”命令,但它似乎只适用于两个文件,而不适用于整个文件夹。

标签: linuxshellunix

解决方案


如果要搜索的所有文件都在同一个文件夹中,而不是在其中的任何子文件夹中,下面会做

ls -p | grep -v / | xargs grep -lf <file_with_list_of_words>

推荐阅读