Bash脚本根据大小重命名图像?

时间:2011-02-03 09:53:38

标签: image bash scripting terminal size

我使用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 个答案:

答案 0 :(得分:10)

如果您安装了ImageMagick,可以尝试:

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

测试它是否有效,请在-i后删除mv开关。

答案 1 :(得分:3)

  1. 使用pngcheckpnginfoimageinfo --width --height之类的内容获取尺寸 您可能需要安装它,例如使用apt-getyum
  2. 使用newname=${filename%.*}
  3. 删除后缀
  4. 使用mv
  5. 重命名