Массовое изменение размера изображений в подкаталогах с помощью Imagemagick

Да, но вы должны использовать здесь-строку , а не здесь-документ:

cat >"$HOME/myRep/tiesto" <<<'tiesto'

Это отправит строку tiesto на cat на своем стандартном вводе, и он запишет строку в файл $HOME/myRep/tiesto через перенаправление своего стандартного вывода.

Обратите внимание, что здесь-строки не являются стандартными, а реализованы по крайней мере zsh (откуда они берутся, в то же время, что и UNIX-версия rc, хотя это rc и его производные, такие как es или akanga не добавляют дополнительный символ новой строки в конце), ksh93, bash , мкш и яш.

0
15.08.2017, 11:00
1 ответ

Вы можете комбинировать identifyс find, например:

find. -type f -iname "*.jpg" -exec identify -format '%w %h %i\n' {} \;

которая будет запускать вашу команду identifyдля каждого рекурсивно найденного файла с именем, оканчивающимся на.jpg (case -нечувствительно ).

Используя ваш полный пример:

find. -type f -iname "*.jpg" -exec identify -format '%w %h %i\n' {} \; |
awk '$1 > 1200 || $2 > 1200 {sub(/^[^ ]* [^ ]* /, ""); print}' |
tr '\n' '\0' |
xargs -0 mogrify -resize '1200x1200'
3
28.01.2020, 02:24

Теги

Похожие вопросы