GZIP на нескольких ядрах с PV Progress Bar

После этого вопроса Gzip 2010 года со всеми ядрами, я хотел бы gzip файлы, использующие несколько ядер и указывают индикатор выполнения с pv инструмент.

Как мне улучшить этот код?

CORES=$(grep -c '^processor' /proc/cpuinfo)
find /source -type f -print0 | xargs -0 -n 1 -P $CORES gzip -9

Я хотел бы показать оставшееся время и параллельно показывать бары прогрессии.

Есть ли у вас другие лучшие альтернативы на 2018 год?

Благодарю.

2 ответа

Решение

Используйте GNU Parallel, который имеет индикатор выполнения или eta:

find ... -print0 | parallel -0 --progress gzip -9 {}

Или же

find ... -print0 | parallel -0 --eta ...

Или же

find ... -print0 | parallel -0 --bar ...

Вы не используете gzip на нескольких ядрах, вы используете несколько gzip.

pv бежит по трубе. Я не верю, что можно запустить его одновременно на нескольких каналах и предоставить сводку по всем из них.

Другие вопросы по тегам