
У меня есть список файлов JPG, каждый из которых находится в разных папках на моем сервере, работающем только с командной строкой, и мне нужно преобразовать их в PNG.
Я знаю простую команду, чтобы конвертировать их по одному с помощью mogrify. Но у меня около 300 изображений с разными именами, разбросанных по разным папкам, вот так:
/home/user/dfp/app/roundtable/wp-content/uploads/2022/06/play.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/02/turn.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2020/01/up.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2022/09/down.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/01/left.jpg
etc etc
В каждом из каталогов есть тысячи других изображений, которые я вообще не хочу менять. Только определенные файлы в моем списке.
Есть ли простой способ пакетной/массовой конвертации списка изображений, которые у меня есть? У меня буквально есть список изображений, как в примере выше, в файле .txt.
решение1
Вы можете использовать простой цикл оболочки для чтения и обработки имен файлов из файла списка. В bash
оболочке, например:
while IFS= read -r file; do
# your mogrify command on "$file"
done < path/to/listfile.txt
Вы можете запустить его либо в интерактивной командной строке bash, либо как скрипт с #!/bin/bash
shebang в верхней части.