温馨提示×

Linux命令行下,如何批量重命名文件

小樊
122
2025-03-08 15:01:53
栏目: 智能运维

在Linux命令行下,可以使用rename命令批量重命名文件。rename命令允许你使用正则表达式来匹配和替换文件名。以下是一些常见的用法示例:

基本用法

假设你有一组文件名是以数字开头的,例如file1.txt, file2.txt, file3.txt,你想将它们重命名为document1.txt, document2.txt, document3.txt

rename 's/^file/document/' file*.txt

解释:

  • rename 是命令名。
  • 's/^file/document/' 是一个Perl正则表达式,表示将文件名开头的file替换为document
  • file*.txt 是匹配的文件名模式。

使用Perl正则表达式

你可以使用更复杂的Perl正则表达式来匹配和替换文件名。例如,如果你想将所有以.txt结尾的文件名中的old替换为new

rename 's/old/new/' *.txt

批量重命名并添加前缀或后缀

假设你想给所有文件添加一个前缀prefix_

rename 's/^/(prefix_)/' *

或者添加一个后缀_suffix

rename 's/$/(_suffix)/' *

删除文件名中的某些部分

假设你想删除文件名中的所有数字:

rename 's/\d//g' *

解释:

  • \d 匹配任何数字。
  • g 表示全局替换,即替换所有匹配的部分。

注意事项

  1. rename命令在不同的Linux发行版中可能有不同的实现。在某些系统中,rename命令可能不可用,你可以使用mmv命令作为替代。
  2. 在使用rename命令之前,建议先使用ls命令查看匹配的文件列表,以确保命令按预期工作。

使用mmv命令

如果你的系统中没有rename命令,可以使用mmv命令来批量重命名文件。以下是一些示例:

添加前缀

mmv "*.txt" "prefix_*.txt"

删除文件名中的某些部分

mmv "*.txt" "#1.txt"

解释:

  • #1 表示第一个捕获组。

通过这些方法,你可以在Linux命令行下方便地批量重命名文件。

0