小编nim*_*mai的帖子

如何在大代码目录中高效搜索字符串列表

我有一个字符串列表,对于每个字符串,我想检查它是否出现在一个大的源代码目录中。

我来到了一个 GNU grep 解决方案,它给了我我想要的:

for key in $(cat /tmp/listOfKeys.txt); do
    if [ "$(grep -rio -m 1 "$key" . | wc -l)" = "0" ]; then
        echo "$key has no occurence"; 
    fi
done
Run Code Online (Sandbox Code Playgroud)

但是,它根本没有效率,因为它总是 grep 目录中的每个文件,即使它很早就找到了匹配项。由于要查找的键很多,而且要搜索的文件也很多,因此无法按原样使用。

您知道一种使用“标准”unix 工具有效执行此操作的方法吗?

performance grep search

5
推荐指数
2
解决办法
1053
查看次数

标签 统计

grep ×1

performance ×1

search ×1