Bash скрипт для переименования изображений в соответствии с их размером? - PullRequest
4 голосов
/ 03 февраля 2011

Я скачал кучу изображений с помощью wget, и, к сожалению, был огромный недостаток ...

Загруженные изображения имели одно и то же имя! Итак, скрипт автоматически добавляется .1, .2, ... и т. Д. в конце:

Accept-Male-User-icon.png
Accept-Male-User-icon.png.1
Accept-Male-User-icon.png.2
...

Итак, я ищу скрипт, который бы взял эти файлы и переименовал их в соответствии с их размером, учитывая, что их размер может быть одним из следующих:

(256x256, 128x128, 64x64, 48x48, 32x32, 16x16)

Итак, я получаю что-то вроде этого:

Accept-Male-User-icon256.png
Accept-Male-User-icon128.png
Accept-Male-User-icon64.png
...

Спасибо !!

Ответы [ 2 ]

10 голосов
/ 03 февраля 2011

Если у вас установлен ImageMagick, вы можете попробовать:

for a in *.png*; do mv -i $a ${a%\.png*}`identify -format '%w' $a`.png; done

Проверьте его и, если он работает, удалите переключатель -i после mv.

3 голосов
/ 03 февраля 2011
  1. Получите размеры, используя что-то вроде pngcheck, pnginfo или imageinfo --width --height
    Вам, вероятно, потребуется установить его, например, используя apt-get или yum
  2. Удалите суффикс, используя newname=${filename%.*}
  3. Переименуйте, используя mv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...