使用mv命令重命名多个文件和目录可能是一个麻烦的过程,因为需要使用管道、循环等创建复杂的命令。
这是rename命令有用的地方。 通过将名称中的搜索表达式替换为指定的替换名称来重命名指定的文件。
本教程介绍如何使用rename命令批量重命名文件。
安装重命名
rename命令的两个版本有不同的语法和功能。 使用rename命令的Perl版本。
如果系统上没有安装此版本,请使用Linux发行版的软件包管理器进行安装。
Ubuntu和Debiansudo apt update
sudo apt安装重命名
CentOS和Fedorasudo yum install prename
Arch Linuxyay perl-rename
使用rename
以下是rename命令的常规语法: rename [OPTIONS] perlexpr files
rename命令基本上是Perl脚本。 根据指定的perlexpr正则表达式重命名指定的files。 在这里可以阅读有关Perl正则表达式的信息。
例如,以下命令将所有. css文件的扩展名更改为. css : rename's/.CSS/.scss/'*.CSS
让我详细说明一下命令。 s/search_pattern/replacement/-替换运算符。
. css -搜索模式。 这是替换运算符的第一个参数。 rename命令在指定的文件名中搜索此模式,如果找到,则将其替换为替换参数。
. scss -交换。 替换运算符的第二个参数。
*.css -所有扩展名为“. css”的文件。 通配符(* )是表示零个、一个或多个字符的符号。
在执行实际命令重命名文件和目录之前,建议使用-n选项运行“空运行”以显示要重命名的文件。 rename -n 's/.css/.scss/' *.css
输出如下所示。 重命名(file-0.scss,file-0.scss )。
rename (文件-1. CSS,文件-1. scss ) )。
rename (文件-2. CSS,文件-2. scss ) )。
rename (文件-3. CSS,文件-3. scss ) )。
rename (文件-4. CSS,文件-4. scss ) )。
缺省情况下,rename命令不会复盖现有文件。 使用-f选项指示rename to复盖现有文件。 rename -f 's/.css/.scss/' *.css
如果要使用rename打印成功重命名的文件的名称,请选择-v (高级)选项: rename-v ' s/. CSS/. scss/' *.cssfile-0.cssrenamedasfile-0.
file-1.CSS重命名as file-1.scss
file-2.CSS重命名as file-2.scss
file-3.CSS重命名as file-3.scss
file-4.CSS重命名as file-4.scss
重命名示例
以下是有关如何使用重命名命令的常见示例:
文件名空间rename 'y//_/' *
文件名为小写的rename 'y/A-Z/a-z/' *
文件名为大写的rename 'y/a-z/A-Z/' *
从文件名中删除. bakrename 's/.bak$//' *.bak
是否要将. jpeg和. JPG文件名重命名为. jpgrename 's/.jpe? g$/.jpg/i' *
结论
rename命令允许您使用Perl正则表达式一次重命名多个文件。
如果有问题或反馈,请随时发表评论。