如何并行搜索文件? (我想在一百万个文件中找到一个文件)
使用此命令执行上述操作
find . -type f -print0 | xargs -0 -P
number_of_processes grep my_pattern
它给了Grep:没有这样的文件或目录,
这个命令到底在做什么?
如何进行文件的并行搜索? (甚至我试过找。-type f | parallel -j + 1 grep my_pattern )
答案 0 :(得分:2)
您的磁盘系统不太可能不瓶颈,并行化I / O通常会导致磁盘系统速度变慢。
所以这可能是最快的:
find . | grep pattern
但是,如果您的磁盘系统比CPU更快,那么这应该可行:
find . -maxdepth 3 | grep pattern
find . -type d -maxdepth 3 | parallel 'find {} | grep pattern'
调整'3'以适合您的文件系统布局。