Сигурно всички сме се натъквали на случаи, където поради една или друга причина се налага да конвертираме 5 или повече изображения от един формат в друг. Ръчното им отваряне в програма и записване като друг формат една по една може да е доста тегаво и затова си поиграх малко да намеря команда, която може да го направи бързо вместо мен. И намерих такава: инструмент, наречен cwebp, който е част от пакета libwebp. А пък libwebp е задължителна зависимост на ffmpeg, ffmpeg4.4, gimp, qt5-imageformats, qt6-imageformats, qt6-webengine, thunderbird и много други, така че ако имате някой от тези пакети инсталиран, то 100% имате и libwebp. Въпреки изричното си име cwebp (означава "convert webp") може да конвертира от и към webp, както и PNG-JPG двупосочно.
Написах си няколко скрипта (с "проба-грешка", докато схвана как аджеба работи

) за най-често използваните формати в интернет пространството, вкл. и в YouTube, когато качвате клипче (YT изисква JPG снимка не по-голяма от 1 МБ, а този инструмент се справя отлично по тази точка) и реших да ги споделя, в случай, че и на вас ви трябва насипно конвертиране:
Насипно JPG към PNG:
Код: Избери всички
#!/bin/bash
for file in *.jpg;
do cwebp -q 100 "$file" -o "${file/.jpg/}.png";
done
Насипно PNG към JPG:
Код: Избери всички
#!/bin/bash
for file in *.png;
do cwebp -q 100 "$file" -o "${file/.png/}.jpg";
done
Насипно PNG към WEBP:
Код: Избери всички
#!/bin/bash
for file in *.png;
do cwebp -q 100 "$file" -o "${file/.png/}.webp";
done
Разбира се може да има още много Комбинаций, но понеже тези ми се налага да ползвам най-често, само за тях си написах скриптове. Вие можете да си напишете каквито други искате в този форматен диапазон, само имайте предвид, че анимирани изображения (GIF) не се поддържат.