rename 命令详解

| 选择喜欢的代码风格  

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

rename 命令安装:


-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 命令补充说明:


rename 命令根据正则表达式 perlexpr 重命名命名的文件。

如果给定文件未被表达式修改,则不会重命名。如果在命令行上未提供文件名,则将通过标准输入读取文件名。

rename 命令语法:


rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

rename 命令选项:


-v, --verbose 详细:成功重命名的文件的打印名称。
-n, --no-act  无操作:显示要重命名的文件。
-f, --force 强制:覆盖现有文件。

rename 命令参数:


原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的原字符替换成目标字符串;
文件:指定要改变文件名的文件列表。

rename 命令翻译表达式


翻译类似于替代。 它可以用于将一个字符串转换为另一个字符换字符。 翻译表达式的指定如下:

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,则将其替换为 honeymoon。 例如,此命令会将文件 ourholiday001.jpg 重命名为 ourhoneymoon001.jpg

find -type f -name '*.jpg' | rename 's/holiday/honeymoon/'

重命名所有匹配 * .bak 的文件,以去除其扩展名的文件名。 例如,此命令会将文件 project.bak 重命名为 project

rename 's/\.bak$//' *.bak

重命名文件,以便将所有大写字母更改为它们的小写字母。

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删掉

rename 命令扩展阅读:




rename 命令评论