Пакетний запуск змінює зображення, включаючи підкаталоги


13

Команда mogrify -format jpg *.NEFпри запуску в каталозі перетворює всі * .NEF файли в JPEG. Що я хочу зробити, це мати можливість запускати mogrify у * .NEF- файлах у підкаталогах, а також за допомогою однієї команди. Я намагаюся запустити щось на кшталт:

find . -type d exec mogrify -format jpg *.NEF \;

і звичайно це не працює. Чи може хтось запропонувати належну команду?

Відповіді:


16

Виглядає, як mogrify з ImageMagick 6.9.9.19 записує результат у той самий каталог, що і вхідний файл, тому ви можете використовувати цю команду:

find . -name '*.NEF' -exec mogrify -format jpg {} +

Пояснення:

  • -name '*.NEF'знаходить усі * .NEF файли; використовуйте, -inameякщо ви хочете, щоб пошук був нечутливим до регістру.

  • -exec ... {} +виконує команду на всіх збігаються файлах. Альтернативою може стати поєднання знахідки з xargs .


Лише підказка, можливо, ви хочете трохи розширити цю проблему, оскільки вона була позначена як низька якість. Розглянемо пояснення того, що робить команда докладно.

Працює досконало. Я використовую це для перетворення svg в png з: "find. -Name '* .svg' -exec mogrify -format jpg {} +"
Indacochea Wachín
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.