Благодаря посту Владимира Бредникова узнал, что xargs
благодаря двум ключам помогает организовать многопоточную обработку файлов:
-n X
- Ограничивает количество передаваемых вашей программе аргументов. По умолчанию xargs передаёт программе довольно большое число аргументов, поэтому для обработки одного файла за один раз нужно указывать эту опцию.
-P X
- Устанавливает количество одновременно выполняемых процессов. По умолчанию xargs запускает только один процесс, но в нашем случае нужно увеличить это число до количества процессоров.
find
можно в несколько потоков обработать множество картинок, размер которых больше одного мегабайта$ find ~/Photos -iname '*.jpg' -and -size +1M -print0 | \P.S. Надо почаще заглядывать в
xargs -0 -n 1 -P 2 -I'{}' convert '{}' -resize '800x600>' -quality 100 '{}'
man
:)
Комментариев нет:
Отправить комментарий