我不时会遇到使用find + grep命令的非常奇怪的行为。我问这个是因为我找不到与此有关的任何内容。
在我的工作中,我经常需要对大量日志进行大量搜索,寻找某个字符串。
由于其出色的性能,我非常信任命令grep -l
来执行此操作。
我使用这样的命令:
find . -type f -name "*log*" -exec grep -l STRING {} \; 2>/dev/null
我还有一个以并行方式使用find + grep -l
的多线程程序。
问题是,有时在搜索过程中找不到某些文件,即使它们包含我感兴趣的字符串。然后,当我第二次执行相同的命令时,搜索工作并显示我感兴趣的所有文件。
这似乎是一个非常间歇性的问题,我不知道应该检查什么。
任何可能导致这种情况的想法? find
为grep
命令设置参数可能会出现问题吗?这是一个grep问题吗?可能与我们在特定时间搜索的大量文件有关。
感谢。