1 修改照片格式的方式
1、批量修改照片格式。例如批量将所有 .png 格式的照片修改成 .jpg格式 :
mogrify -format jpg *.png
2 旋转照片方向的方式
1、批量将照片顺时针旋转90度:
mogrify -rotate 90 *.png
2、批量将照片逆时针旋转90度:
mogrify -rotate -90 *.png
3 批量修改照片名称
应用场景:现有名称格式为 【图层 1.png】~【图层 150.png】的150张照片,需要将它们命名为【001.png】~【150.png】,即以照片数量的最大位数为准,小于最大为数的数字,前面要补【0】。格式如下图,
分析:
1、原照片名称格式
(1) 照片名称由文字【图层】、空格、数字【1-150】和后缀【.png】组成;
2、目标照片名称格式分析:
(1) 目标照片名称由数字和后缀组成,其他的字符要去掉;
(2) 去掉多余字符的照片名称按位数及补【0】个数可分为:
个位数名称的照片,【1.png】~【9.png】,补两个0 ;
十位数名称的照片,【10.png】~【99.png】,补一个0 ;
百位称数名的照片,【100.png】~【150.png】,不用补0 。
操作1:去掉多余字符
命令:
rename -v 's/图层 //' *.png
命令释义:
参数 -v 表示打印已成功重命名的文件的名称;
's/图层 //' 是Perl正则表达式,意思是将文字【图层】替换成无字符的意思;
*.png 表示所有后缀带 .png 的文件。
操作2:为个位数名称的照片补两个0
命令:
rename -v 's/^/00/' [1-9].png
命令释义:
's/^/00/' 表示在文件名称的前面插入数字 00 ;
[1-9].png 表示 文件【1.png】~【9.png】。
操作3:为十位数名称的照片补一个0
命令:
rename -v 's/^/0/' [1-9][0-9].png
注意,不建议使用rename命令修改照片格式,如果这样做,你的照片可能会因此无法使用。
如使用命令:
rename -v 's/\.png/\.jpg/' *.png
文章用到对照片进行操作的命令有 mogrify 和 rename ,有兴趣的可搜索学习下,很实用的。