Использовать файлы из команды find в параллельных пакетах

У меня есть этот код для поиска dirs в текущей папке, а затем tar it

find . -type d -maxdepth 1 -mindepth 1 -print -exec tar czf {}.tar.gz {} \;

У меня есть 100s папок, и в настоящее время он делает по одной папке.

Возможно ли, что я могу запустить партию из 5 параллельно

One Solution collect form web for “Использовать файлы из команды find в параллельных пакетах”

Используя xargs вы можете достичь степени параллелизма:

 find . -type d -maxdepth 1 -mindepth 1 -print0 | xargs -t0 -n 1 -P 5 -I XX tar czf XX.tar.gz XX 

Это флаг -P 5 который ограничивает количество параллельных процессов, xargs с xargs до пяти, тогда как -n 1 используется только для выполнения утилиты с одной входной строкой за раз. С -I XX мы говорим, что строка ввода, которая будет путь к каталогу, должна быть заменена на строку XX в команде.

xargs будет распечатывать invocations tar как они выполняются. Удалите -t чтобы отключить это.

-print0 каталогов передаются из find с -print0 и принимаются xargs с -0 (т. xargs Используя \0 качестве разделителя), чтобы допускать, возможно, экзотические имена.


Как указано в ответе в другом месте на этом сайте :

Обратите внимание, что узким местом операции, скорее всего, будет жесткий диск. По этой причине, даже если вы разделили задачу на два или более процесса, она не будет работать быстрее, если они не будут работать на разных дисках.

  • Указание зависимости версии больше N и меньше M
  • Не удается поддерживать подключение к Интернету в Linux Mint 18
  • Где мои потерянные работы cron?
  • PCI-карты hauppauge / dev / video0 больше не появляются после замены жесткого диска
  • Как установить Ubuntu Touch на iphone 4?
  • Одноранговое хранилище локальной сети
  • Не удается установить Ubuntu, поскольку ПК продолжает закрывать
  • как сделать swap постоянным в vm?
  • Карта F2 для замены клавиши 2 - также с комбинацией Shift и Alt - в Lubuntu 14.04.3
  • Изменение пользователя maildir в пользовательское местоположение при создании пользователя
  • Ubuntu / Unity присоединяет скрипт к Launcher
  • Linux и Unix - лучшая ОС в мире.