rnm是一个命令行工具,用于批量更改文件名。它的全称是rename,是 Linux 系统下 Perl 语言的一个模块,通常被称为 Perl rename。
通过rnm,我们可以使用命令行批量更改文件名的格式,比手动逐个更改文件名简单方便得多。同时rnm也支持正则表达式,可以用来更加灵活地匹配和替换文件名。
rnm有很多不同的参数和选项,但是它最基本的用法是:rnm [选项] 文件名字符串。
其中,文件名字符串是需要更改的文件名的模式,可以使用通配符和正则表达式;选项可以指定更改的方式和范围。例如:
rnm -v '*.txt' '*.md'
这个命令将所有以 .txt 结尾的文件名,替换为以 .md 结尾的文件名。-v 表示详细输出,可以看到每个文件名被替换的情况。
rnm还支持很多高级用法,比如使用正则表达式匹配文件名中的某些部分,并对这些部分执行不同的操作。
例如:
rnm -v 's/(\d{4})-(\d{2})-(\d{2})/$3-$2-$1/' *.txt
这个命令将所有以 .txt 结尾的文件名中,以“yyyy-mm-dd”格式表示的日期,替换为“dd-mm-yyyy”格式的日期。这里的 s 表示替换操作,将正则表达式中的“yyyy”、“mm”、“dd”三个部分分别替换为“$3”、“$2”、“$1”,也就是按照新的顺序重新组合成了一个新的日期格式。
除了基本用法和高级用法,rnm还有很多常用命令可以提高效率,比如:
rnm -n 表示模拟更改操作,不实际修改文件名,可以用来测试更改效果。
rnm -f 表示强制更改文件名,即使目标文件名已经存在也会强制覆盖。
rnm -P 表示路径名被忽略,即仅更改文件名而不会更改文件路径。
rnm -S 表示符号链接的文件名被更改,而不是链接指向的文件。