在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
表示全局替换,即替换所有匹配的部分。
注意事项
rename
命令在不同的Linux发行版中可能有不同的实现。在某些系统中,rename
命令可能不可用,你可以使用mmv
命令作为替代。- 在使用
rename
命令之前,建议先使用ls
命令查看匹配的文件列表,以确保命令按预期工作。
使用mmv
命令
如果你的系统中没有rename
命令,可以使用mmv
命令来批量重命名文件。以下是一些示例:
添加前缀
mmv "*.txt" "prefix_*.txt"
删除文件名中的某些部分
mmv "*.txt" "#1.txt"
解释:
#1
表示第一个捕获组。
通过这些方法,你可以在Linux命令行下方便地批量重命名文件。