Перетворення форматів файлів зображень за допомогою командного рядка & sips

Anonim

Перетворення зображень у нові формати файлів дуже просте завдяки різноманітним інструментам, вбудованим безпосередньо в OS X (і більшість дистрибутивів Linux). Хоча найпростіший метод використовує попередній перегляд для перетворення зображень, існує параметр командного рядка, який використовує той самий інструмент sips, який ми обговорювали раніше, для виконання пакетної зміни розміру з командного рядка.Використовуючи sips, ви можете конвертувати окремі зображення в нові формати зображень або навіть виконувати групове перетворення зображень.

Просте перетворення зображення з командного рядка

Щоб конвертувати одне зображення за допомогою SIP, використовуйте такий синтаксис командного рядка:

sips -s format --out

Наприклад, у файлі з назвою «test.jpg», який потрібно перетворити на PNG, синтаксис sips буде таким:

sips -s format png test.jpg --out test.png

Пакетне перетворення зображень за допомогою sips

Перетворити групу зображень трохи складніше, і використання простих символів узагальнення, як-от зміна розміру за допомогою ковток, не працює так само. Ви побачите, що використання загального символу узагальнення, як-от , також не перейменовує файл, тому замість цього ми використаємо дуже простий сценарій оболонки з таким синтаксисом команди:

for i in ; do sips -s format $i --out /$i.;done

Використавши це, ми перетворимо папку з файлами .jpeg на файли png у новій вкладеній папці поточного каталогу під назвою «Перетворено»:

for i в .jpeg; do sips -s format png $i --out Converted/$i.png;done

Виконання цієї команди може призвести до перетворення всіх зображень JPEG у формат PNG у новому каталозі.

Потенційно неприємна заковика полягає в тому, що кінцеві назви файлів також включатимуть оригінальний тип файлу, тобто ви матимете файли під назвою «test.jpeg.png». Розширення файлу залишається правильним, проблема лише в назві. Ви можете обійти це, перейменувавши їх спочатку, а потім додавши відповідне розширення файлу за допомогою подібного сценарію bash, використовуючи regex або перейменувавши вручну за допомогою mv.

Під час запуску sipps з деякими форматами файлів ви можете зіткнутися з помилками «попередження lingpng» щодо даних exif. Ці помилки можна здебільшого проігнорувати, а перетворення зображення все одно відбудеться.

Дякуємо Тому за ідею пакетного перетворення

Перетворення форматів файлів зображень за допомогою командного рядка & sips