RENAME(1p)                               用户贡献的 Perl 语言版本的文档                            RENAME(1p)

名称
       rename - 重命名多个文件

概要
       rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr [ files ]

描述
       "rename" 根据指定为第一个参数的规则重命名提供的文件名。
       perlexpr 参数是一个 Perl 表达式,
       它至少可以指定的文件名中的部分字符串。
       如果给定的文件名未被表达式修改,则不会重命名。
       如果命令行中未提供文件名,则将通过标准输入读取文件名。
,
       例如,要重命名所有匹配 "*.bak" 的文件以去除后缀,你可以这样使用

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

               译者注:这个命令再 WSL2 Ubuntu 18.04 LTS 下无效
               可以使用这个命令 rename 's/\.bak//' *.bak。
               s/regexp/replacement/
               开头的 s 表示将 regexp 匹配到的内容 替换为 replacement。

       将所有大写字母转化为小写字母,你可以这样使用

               rename 'y/A-Z/a-z/' *

               译者注:y/source/dest/
               开头的 y 表示将 source 中匹配到的字符替换为 dest 中对应位置的字符。

选项
       -v, -verbose
               详细信息:成功重命名的文件的打印名称。

       -n, -nono
               不执行任何操作:打印要重命名的文件名,但不重命名。

       -f, -force
               覆盖:允许现有文件被覆盖。

       -h, -help
               帮助:打印概要和选项。

       -m, -man
               手册:打印手册页。

       -V, -version
               版本:显示版本号。

       -e      表达式:作用于文件名的代码。

               可以重复构建代码(例如“ perl -e”)。
               如果没有使用 -e,则第一个参数将被视作代码。

               译者注:这一段翻译起来不是很通顺,
               下面是英文原文:
               Expression: code to act on files name.
               May be repeated to build up code (like "perl -e"). 
               If no -e, the first argument is used as code.

       -E      声明:作用于文件名的代码,为-e,但以';'结尾。

环境
       没有使用环境变量。

作者
       Larry Wall

参见
       mv(1), perl(1)

诊断
       If you give an invalid Perl expression you'll get a syntax error.

错误
       原始的 "rename" 没有检查目标文件名是否存在,
       因此必须谨慎使用。希望我已经解决了这个问题(Larry Wall)。

       译者注:你不要吓我,Larry Wall。
       下面是英文原文:
       The original "rename" did not check for the existence of target filenames, 
       so had to be used with care.
       I hope I've fixed that (Robin Barker).
译者
       本手册由 ADD-SP 于 2020年8月24日 由英文翻译为简体中文。

perl v5.26.1                                          2018-02-19                                           RENAME(1p)