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,也不用敲几个字符。
多谢多谢,今天又涨经验值了。