2

У меня тысячи фотографий во многих папках. Я хочу изменить размер пакета до 3000 пикселей на самом длинном измерении и сохранить временную метку без изменений.

Я использовал удивительно простой инструмент Phatch для изменения размера всех файлов, но оригинальные временные метки файлов пропали, и в Phatch нет настроек, чтобы этого избежать. Теперь у меня есть главная папка со всеми оригиналами и другая папка с результатами Phatch - на всякий случай это поможет.

  • Платформа: Linux (Ubuntu)
  • Исходные файлы: 2000 файлов JPG во многих подпапках
  • Цель: изменение размера до 3000 пикселей (если не меньше, чем это),
    • либо изменить размер файлов на месте
    • или сохранить как копию, используя ту же структуру папок
    • сохранить оригинальные имена файлов и временные метки без изменений

Я не достаточно Linux человек (пока), чтобы знать, какие инструменты я мог бы использовать (imagemagick? mogrify?) и как, но я с радостью приму любые намеки!

1 ответ1

3

Вы можете сделать что-то вроде этого, используя команду convert из пакета imagemagick, поместив новые файлы в /tmp /new или подобный каталог:

mkdir /tmp/new
find . -iname '*.jpg' |
while read file
do convert -resize '>3000x>3000' "$file" /tmp/new/"$file"
   touch -r "$file" /tmp/new/"$file"
done

Если вы довольны результатом, переместите их с помощью:

rsync -a /tmp/new/ .
rm -fr /tmp/new

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .