掌握 Ubuntu 终端 mv 与 rename 命令的高效重命名使用方法
在日常的计算任务中,文件重命名是一个经常性的需求。对于熟悉图形用户界面(GUI)的人来说,通过右键点击并选择“重命名”选项,这个过程简单直接。然而,当涉及到大量文件或需要自动化流程时,命令行提供了更强大、灵活的解决方案。
重命名单个文件:简洁而直接
Ubuntu 的终端提供了一个名为 mv 的命令,它最初设计用于移动文件,但也可以用来重命名文件。其基本语法非常直观:
mv OLD_NAME NEW_NAME
这里,OLD_NAME 是现有文件名,而 NEW_NAME 则是您希望赋予它的新名称。例如,如果您想要将一个名为 pls_rename.txt 的文件重命名为 renamed_it.txt,您可以这样做:
$ ls *.txt
pls_rename.txt
$ mv -v pls_rename.txt renamed_it.txt
renamed 'pls_rename.txt' -> 'renamed_it.txt'
$ ls *.txt
renamed_it.txt
使用 -v 参数可以让 mv 命令显示详细的输出,告知您哪些文件被重命名了。这在处理多个文件时尤其有用。
批量重命名文件:效率与灵活性兼备
当面对大量文件需要重命名时,逐一手动操作显然不切实际。幸运的是,Ubuntu 提供了一个叫做 rename 的工具,专门用于批量重命名文件。它利用正则表达式来匹配和替换文件名中的模式,极大提高了工作效率。
首先,您需要安装 rename 工具,因为它通常不在默认安装中包含:
sudo apt install rename
安装完成后,您可以使用以下语法进行批量重命名:
rename PERL-REGEX FILES
其中 PERL-REGEX 表示 Perl 风格的正则表达式,FILES 是要处理的文件列表。例如,要将所有 .txt 文件扩展名改为 .jpeg,您可以执行:
$ rename -v 's/.txt/.jpeg/' *.txt
image_1.txt renamed as image_1.jpeg
image_2.txt renamed as image_2.jpeg
...
rename 命令同样支持复杂的字符转换。比如,如果您想把所有小写字母变为大写,可以这样做:
$ rename -v 'y/a-z/A-Z/' *
i_am_not_screaming renamed as I_AM_NOT_SCREAMING
maybe_i_am_screaming renamed as MAYBE_I_AM_SCREAMING
who_knows renamed as WHO_KNOWS
安全性优先:预览更改以防错误
考虑到批量操作可能带来的风险,rename 提供了一个非常有用的选项 --nono,它可以模拟命令的效果而不真正修改文件。这意味着您可以先看到预期的变化,确认无误后再执行实际的重命名操作。这就好比是做一次“试运行”,确保一切按计划进行。
$ rename --nono 's/.jpeg/.txt/' *.jpeg
rename(image_1.jpeg, image_1.txt)
rename(image_2.jpeg, image_2.txt)
...
正如上面的例子所示,虽然看起来文件已经被重命名,但实际上它们并没有改变。直到您移除 --nono 选项并重新运行命令,才会真正生效。
无论是简单的单个文件重命名还是复杂的批量处理,Ubuntu 终端都提供了强大的工具来满足您的需求。mv 和 rename 这两个命令不仅简化了日常任务,还为高级用户提供了足够的灵活性和控制力。掌握这些技能,您就能更加自信地管理和组织您的文件系统。
当然,如果您使用的是 Windows 和 Mac 系统,那么你也可以使用简鹿文件批量重命名,它提供了一个完整的 GUI 界面,让文件或文件夹重命名操作起来更轻松快捷。