在 CentOS 7 中批量重命名 JPG 文件名

在 CentOS 7 中批量重命名 JPG 文件名

我的目录中大约有 80 个这样的文件。

-rw-rwxr--+ 1 vagrant vagrant  38122 Nov 13 12:19 CRMPicco RFC16 Women's 80.jpg
-rw-rwxr--+ 1 vagrant vagrant 101286 Nov 13 12:19 CRMPicco RFC16 Women's 8.jpg
-rw-rwxr--+ 1 vagrant vagrant  30110 Nov 13 12:19 CRMPicco RFC16 Women's 9.jpg

我正在运行 CentOS 7.0 并且已安装重命名。

[vagrant@crmpicco /var/www/crmpicco/web/php/upload/10111/165-190]# which rename
/usr/bin/rename

cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

但是下面的方法无法为我重命名任何文件。我尝试了 SuperUser 上看到的许多不同方法,但似乎都不起作用。

[vagrant@crmpicco /var/www/crmpicco/web/php/upload/10111/165-190]# rename s/Women/W/ *.jpg

我是不是在做一些愚蠢的事情?

答案1

这不是rename工作原理。util-linux“rename”命令仅接受两个静态字符串(基本搜索和替换):

rename "Women" "W" *.jpg

对于类似 Perl 的正则表达式语法,你需要rename.pl又名perl-rename。它没有为 CentOS 打包,但你可以获取它直接从 CPAN作为File::Rename模块

某些发行版例如 Debian 会交换名称,所以这rename是来自 Perl 和rename.ul来自 util-linux,我猜这就是混淆的来源。

相关内容