Linux rename 命令实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 rename 命令基于指定模式批量重命名文件和目录。rename 命令是一个强大的工具,允许你执行复杂的重命名操作,例如添加前缀或后缀,或根据文件内容更改文件名。你将从了解 rename 命令的基本语法和用法开始,然后通过多个示例练习重命名单个文件和批量文件。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") subgraph Lab Skills linux/ls -.-> lab-422884{{"Linux rename 命令实用示例"}} linux/touch -.-> lab-422884{{"Linux rename 命令实用示例"}} linux/mv -.-> lab-422884{{"Linux rename 命令实用示例"}} end

理解 rename 命令

在这一步中,你将学习 Linux 中的 rename 命令。rename 命令是一个强大的工具,允许你基于指定模式批量重命名文件和目录。

rename 命令的基本语法如下:

rename 'expression' files

其中,expression 是一个 Perl 兼容的正则表达式,用于定义匹配和替换的模式。files 参数指定需要重命名的文件。

例如,要将所有扩展名为 .txt 的文件重命名为 .doc,可以使用以下命令:

rename 's/.txt$/.doc/' *.txt

该命令会将当前目录中所有文件的 .txt 扩展名替换为 .doc

示例输出:

file1.txt -> file1.doc
file2.txt -> file2.doc
file3.txt -> file3.doc

rename 命令还可以用于执行更复杂的重命名操作,例如添加前缀或后缀,甚至根据文件内容更改文件名。

使用 rename 命令重命名文件

在这一步中,你将学习如何使用 rename 命令重命名单个文件。

首先,让我们创建一些示例文件以便操作:

touch file1.txt file2.txt file3.txt

要重命名单个文件,可以使用 rename 命令并指定一个简单的表达式:

rename 's/file1/new_file1/' file1.txt

这将把 file1.txt 重命名为 new_file1.txt

示例输出:

file1.txt -> new_file1.txt

你还可以使用 rename 命令为文件添加前缀或后缀:

rename 's/(.*)\.txt$/prefix_\1.txt/' *.txt

这将在当前目录中所有 .txt 文件前添加前缀 prefix_

示例输出:

file1.txt -> prefix_file1.txt
file2.txt -> prefix_file2.txt
file3.txt -> prefix_file3.txt

rename 命令支持 Perl 兼容的正则表达式,这使得你可以执行更复杂的重命名操作。尝试不同的表达式,看看如何自定义文件重命名过程。

使用 rename 命令批量重命名文件

在这一步中,你将学习如何使用 rename 命令批量重命名多个文件。

首先,让我们创建一些具有不同扩展名的示例文件:

touch file1.txt file2.jpg file3.pdf file4.doc

要批量重命名具有特定扩展名的所有文件,可以使用 rename 命令并指定一个正则表达式:

rename 's/\.txt$/.doc/' *.txt

这将把所有 .txt 文件的扩展名重命名为 .doc

示例输出:

file1.txt -> file1.doc

你还可以使用 rename 命令为多个文件添加前缀或后缀:

rename 's/(.*)\.jpg$/image_\1.jpg/' *.jpg

这将在所有 .jpg 文件前添加前缀 image_

示例输出:

file2.jpg -> image_file2.jpg

rename 命令非常灵活,允许你执行复杂的批量重命名操作。你可以使用正则表达式来匹配和替换文件名中的模式,还可以将文件名中的信息整合到新名称中。

总结

在本实验中,你首先学习了 Linux 中的 rename 命令,这是一个基于指定模式批量重命名文件和目录的强大工具。rename 命令的基本语法是 rename 'expression' files,其中 expression 是一个 Perl 兼容的正则表达式,用于定义匹配和替换的模式。你还看到了一个示例,展示了如何将所有扩展名为 .txt 的文件重命名为 .doc

接下来,你学习了如何使用 rename 命令重命名单个文件,包括为文件名添加前缀或后缀。rename 命令支持 Perl 兼容的正则表达式,这使得你可以执行更复杂的重命名操作。

Linux 命令速查表