我试图实现并行查找以减少大FS遍历时间:
find $1 -mindepth 2 -maxdepth 2 -type d | xargs -P5 -n1 find
运行良好,但五个(-P5)“查找”进程并行运行它们的输出,因此字符串有时会分开。如何摆脱这种行为? 应该是xargs的常见问题,但似乎没有人使用它的并行功能。
答案 0 :(得分:2)
您可以使用
写入单独的文件find $1 -mindepth 2 -maxdepth 2 -type d -print0 | xargs -0 -P5 -n1 -I{} sh -c 'find "{}" > "/tmp/{}.dirlist.txt"'
然后cat
将它们放在一起。