在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正则表达式来匹配和替换文件名。例如,如果你想将所有以.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命令行下方便地批量重命名文件。