【问题标题】:How to do parallel search of a file ? (i want to search a file in one million files by parallaly )?如何并行搜索文件? (我想通过并行搜索一百万个文件中的一个文件)?
【发布时间】:2015-11-04 09:39:01
【问题描述】:

如何并行搜索文件? (我想在一百万个文件中找到一个文件)

通过该命令进行上述操作

find . -type f -print0 | xargs -0 -Pnumber_of_processes grep my_pattern

它给了Grep:没有这样的文件或目录,

这个命令实际上在做什么?

如何并行搜索文件? (即使我试过 find . -type f | parallel -j+1 grep my_pattern

【问题讨论】:

    标签: unix grep xargs gnu-parallel


    【解决方案1】:

    您的磁盘系统不太可能成为瓶颈,并行化 I/O 通常会导致您的磁盘系统变慢。

    所以这可能是最快的:

    find . | grep pattern
    

    但如果您的磁盘系统比您的 CPU 更快,那么这应该可以工作:

    find . -maxdepth 3 | grep pattern
    find . -type d -maxdepth 3 | parallel 'find {} | grep pattern'
    

    调整“3”以适合您的文件系统布局。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2013-09-29
      相关资源
      最近更新 更多