Bash · 20.03.2026

Тип вне содержания

Ранее я рассказывал как можно оптимизировать изображения в формате jpg с помощью пары утилит и простенького скрипта. Сегодня задача ещё проще — нужно провести конвертацию кучи png файлов в горячо обожаемый формат jpg. Вновь обратимся к универсальному convert.

Скрипт png2jpg.sh в самом начале проверяет установлена ли утилита convert. Если скрипт не находит команду — будет выведена соответствующая ошибка. Следующий шаг — поиск всех файлов формата png, проверка их наличия в процессе работы цикла и сам процесс конвертации с заменой расширения файла.

#!/bin/bash

# Проверяем, установлена ли программа convert #
if ! command -v convert &> /dev/null; then
    echo "ImageMagick не установлен. Установите его и попробуйте снова."
    exit 1
fi

# Перебираем все файлы с расширением .png в текущей директории #
for png_file in *.png; do
    # Проверяем, если файл существует #
    if [[ -f "$png_file" ]]; then
        # Заменяем расширение .png на .jpg и сохраняем в переменную #
        jpg_file="${png_file%.png}.jpg"
        
        # Конвертируем png в jpg #
        convert "$png_file" "$jpg_file"
        echo "Конвертировано: $png_file --> $jpg_file"
    fi
done

Конечно, не забываем объявить скрипт исполняемым:

chmod +x png2jpg.sh

Если не устраивает копипаста — жмём на кнопку или юзаем wget: