Fedora Core 5不喜欢jpg这个后缀,认为存在安全隐患,所以Gnome程序都不把jpg文件当成是图片,没有关联任何应用程序,而且Nautilus不会显示预览,gthumb里面也不会看到,除非把后缀名改为jpeg。然而,我的柯达导入的照片全部是以jpg作为后缀名的,只好写了一个Perl脚本,完成从jpg到jpeg的重命名工作。
#!/usr/bin/perl use strict; use warnings; use File::Find; my @dir; push @dir, '.'; for my $additional_directory (@ARGV) { if (-e $additional_directory and -d _) { push @dir, $additional_directory; } else { warn "$additional_directory not exist or not a directory, skip.n"; } } find(&jpg2jpeg, @dir); sub jpg2jpeg { if (/(.+).jpg$/i) { my $filename = "$File::Find::dir/$1.jpeg"; print "rename $File::Find::name to $filename ...n"; rename $File::Find::name, $filename; } }
应该可以直接用awk的语法调用rn命令进行批量改名。不用这么麻烦把?xl
我的 Debian 上装的 Perl 自己就带了一个 rename 脚本。casper 你不妨比较一下?
http://packages.debian.org/cgi-bin/search_contents.pl?word=rename&searchmode=searchfiles&case=insensitive&version=stable&arch=i386
bash$ rename .jpeg .jpg *.jpeg */*.jpeg
rename确实不错,以前没用过。递归稍微麻烦点,不过结合使用find和xargs也可以搞定,再弄个alias,也不用敲几个字符。
多谢多谢,今天又涨经验值了。