显示行号
|
选择喜欢的代码风格
默认
GitHub
Dune
LakeSide
Plateau
Vibrant
Blue
Eighties
Tranquil
rename 命令使用正则表达式重命名多个文件。 它由 Perl 编程语言的创建者 Larry Wall 编写。
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删掉