rename – 重命名多个文件
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)