2014-11-29 1 views
1

Я пытаюсь добиться параллельной находки, чтобы уменьшить большие FS времени прохождения:xargs а-Р мура стандартного вывод

find $1 -mindepth 2 -maxdepth 2 -type d | xargs -P5 -n1 find 

работает хорошо, но пять (-p5) «найти» процессы протекают параллельно беспорядке их выход поэтому строка развалится иногда. Как избавиться от этого поведения? Должна быть обычной проблемой с xargs, но, похоже, никто не использует ее параллельную функцию.

+0

Пытается использовать: найти $ 1 -mindepth 2 -maxdepth 2-тип d -print0 | xargs -0 -P5 -n1 найти – jan

+0

хороший момент, но как заставить все процессы писать в отдельные файлы? – xoid

ответ

1

Вы можете написать отдельные файлы с помощью

find $1 -mindepth 2 -maxdepth 2 -type d -print0 | xargs -0 -P5 -n1 -I{} sh -c 'find "{}" > "/tmp/{}.dirlist.txt"' 

А потом cat ИНГ их вместе в конце.