Linux 文件管理:Linux rename 命令(重命名目录和文件)
重命名文件可使用类似 mv 命令的一些等其它命令完成。但是 rename 命令相比其它具有更多优点。这个命令不很常用,因此,在不同的发行版中可能默认安装并不包含。本讲解运行在 Debian/Ubuntu 实例上。
一般来说,重命名文件不是什么大任务,但是,如果一次性对一大堆文件进行改名。若一个个都用 mv 命令去做,任务将变得枯燥、易错、非常困难。这种情况下建议使用 rename
命令。它最大的优势是可以使用 Perl 语言的正则表达式进行批量匹配修改。至于批量修改个大小写更是小菜一碟。
基本语法:
rename 's/old-name/new-name/' files
其中 's/old-name/new-name/' 是 PCRE(Perl Compatible Regular Expression)-- Perl 兼容正则表达式 -- 的语法方式。
一个基本的 rename
命令的例子:Let's see an example of basic rename command:
在下面截图例子中,利用 rename 's/\.txt$/\.pdf$/' *.txt
命令将当前目录下所有后缀名为 .txt 的文件重命名以 .pdf 为后缀名的文件。
另一个例子,将所有后缀文件名为 .pdf 且文件名中包含 file 的文件重命名为:将 file 改为 document 的文件(后缀名 .pdf 不变)。
rename 命令选项:
rename 命令有些命令选项。但是命令中的 perl 正则表达式是必须的。
选项 | 功能 |
---|---|
rename -n | 模拟运行,实际命令没进行重命名。 |
rename -v | 探测模式,输出每步信息。 |
rename -f | 强制改写。 |
rename 命令 -n 选项
rename -n
命令将显示出命令执行下文件被重命名的状况,但是实际文件名并未被改。只是让你看到命令结果,验证你的命令是否符合你的期望,方便修改。(模拟运行)
见下图,它显示了我们的文件,哪些文件被改,被改成什么等信息。
rename 命令 -v (verbose) 选项
使用 -n 选项是模拟运行,使用 -v 选项是实际运行时,显示每个文件被重命名的信息。
上图中,所有以 .pdf 为后缀名的文件都被改成以 .txt 为后缀名的文件。
推荐文章: