A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Perl
编程语言的创建者 Larry Wall 编写。
-bash: rename: command not found #Debian apt-get install util-linux #Ubuntu apt-get install util-linux #Alpine apk add util-linux #Arch Linux pacman -S util-linux #Kali Linux apt-get install util-linux #CentOS yum install util-linux #Fedora dnf install util-linux #OS X brew install rename #Raspbian apt-get install util-linux #Docker docker run cmd.cat/rename rename
rename 命令根据正则表达式 perlexpr
重命名命名的文件。
如果给定文件未被表达式修改,则不会重命名。如果在命令行上未提供文件名,则将通过标准输入读取文件名。
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v, --verbose 详细:成功重命名的文件的打印名称。 -n, --no-act 无操作:显示要重命名的文件。 -f, --force 强制:覆盖现有文件。
原字符串:将文件名需要替换的字符串; 目标字符串:将文件名中含有的原字符替换成目标字符串; 文件:指定要改变文件名的文件列表。
翻译类似于替代。 它可以用于将一个字符串转换为另一个字符换字符。 翻译表达式的指定如下:
y/charset1/charset2/
... 将字符集 charset1
中的每个字符依次转换为字符集 charset2
中的相应字符。 (这些集与上面的字符集一样,只不过您不需要将它们放在方括号中)例如,翻译表达式:
y/abc/def/
... 将每个字母 a 转换为字母 d,每个 b 转换为 e,等等。这也适用于定义为范围的字符集。 例如:
y/a-z/A-Z/ #将每个小写字母转换为等效的大写字母。
rename 重命名所有扩展名为 .jpeg 的文件,使其扩展名为 .jpg。
rename 's/\.jpeg$/.jpg/' *
对于所有扩展名为 .jpg 的文件,如果它们包含字符串 holiday
,则 rename 将其替换为 honeymoon
。 例如,此命令会将文件 ourholiday001.jpg
重命名为 ourhoneymoon001.jpg
:
find -type f -name '*.jpg' | rename 's/holiday/honeymoon/'
rename 重命名所有匹配 * .bak 的文件,以去除其扩展名的文件名。 例如,此命令会将文件 project.bak
重命名为 project
。
rename 's/\.bak$//' *.bak
rename 重命名文件,以便将所有大写字母更改为它们的小写字母。
rename 'y/A-Z/a-z/' *
rename 支持正则表达式示例:
#字母的替换 rename "s/AA/aa/" * # 把文件名中的AA替换成aa #修改文件的后缀 rename "s//.html//.php/" * # 把.html 后缀的改成 .php后缀 #批量添加文件后缀 rename "s/$//.txt/" * # 把所有的文件名都以txt结尾 #批量删除文件名 rename "s//.txt//" * # 把所有以.txt结尾的文件名的.txt删掉