为什么' grep -l'不匹配包含特定字符串的所有文件?

时间:2018-02-01 13:59:56

标签: linux bash shell grep find

我不时会遇到使用find + grep命令的非常奇怪的行为。我问这个是因为我找不到与此有关的任何内容。

在我的工作中,我经常需要对大量日志进行大量搜索,寻找某个字符串。

由于其出色的性能,我非常信任命令grep -l来执行此操作。

我使用这样的命令:

find . -type f -name "*log*" -exec grep -l STRING {} \; 2>/dev/null

我还有一个以并行方式使用find + grep -l的多线程程序。

问题是,有时在搜索过程中找不到某些文件,即使它们包含我感兴趣的字符串。然后,当我第二次执行相同的命令时,搜索工作并显示我感兴趣的所有文件。

这似乎是一个非常间歇性的问题,我不知道应该检查什么。

任何可能导致这种情况的想法? findgrep命令设置参数可能会出现问题吗?这是一个grep问题吗?可能与我们在特定时间搜索的大量文件有关。

感谢。

0 个答案:

没有答案