Linux 使用GNU parallel在大型目录树上加速find命令的最佳方法是什么?

Linux 使用GNU parallel在大型目录树上加速find命令的最佳方法是什么?,linux,bash,parallel-processing,gnu-parallel,Linux,Bash,Parallel Processing,Gnu Parallel,我已经使用GNU parallel有一段时间了,主要是为了grep大文件,或者在每个命令/arg实例都很慢并且需要跨核心/主机分布时,为各种参数运行相同的命令 跨多个核心和主机执行的一件非常好的事情是在大型目录子树上查找文件。例如,类似这样的内容: find/some/path-名称“regex” 如果/some/path包含许多文件和包含许多文件的其他目录,则需要很长时间。我不确定这是不是很容易加速。例如: ls-R-1/some/path | parallel--profile manyho

我已经使用GNU parallel有一段时间了,主要是为了grep大文件,或者在每个命令/arg实例都很慢并且需要跨核心/主机分布时,为各种参数运行相同的命令

跨多个核心和主机执行的一件非常好的事情是在大型目录子树上查找文件。例如,类似这样的内容:

find/some/path-名称“regex”

如果
/some/path
包含许多文件和包含许多文件的其他目录,则需要很长时间。我不确定这是不是很容易加速。例如:

ls-R-1/some/path | parallel--profile manyhosts--pipe egrep regex


我想到了类似的东西,但要找到要搜索的文件,ls将非常缓慢。那么,加快查找速度的好方法是什么呢?

如果您有N百个直接子目录,您可以使用:

 parallel --gnu -n 10 find {} -name 'regex' ::: *
要并行运行
find
,请每次查找10个

但是请注意,像这样递归地列出目录是一项IO绑定任务,您可以获得的加速将取决于备份介质。在硬盘上,速度可能会慢一些(如果进行测试,请注意磁盘缓存)