如何重命名目录中的多个文件

如何重命名目录中的多个文件

我想重命名以下文件

Var1DecoderBase.cpp
Var1DecoderDerived.cpp
Var1EncoderBase.cpp
Var1EncoderDerived.cpp
Var1Factory.cpp

Var4Config.cpp
Var4CountDownTimer.cpp
Var4DecoderBase.cpp
Var4DecoderDerived.cpp
Var4EncoderBase.cpp
Var4EncoderDerived.cpp
Var4Factory.cpp

rename我尝试使用如下方法进行操作,但没有成功。

rename Var1*.cpp Var4*.cpp ./src/
syntax error at (eval 1) line 1, near "*."

答案1

使用 Perl 重命名,您可以执行以下操作:

rename -n 's/Var1/Var4/' ./src/Var1*.cpp

使用-n,它只会打印它将执行的重命名。不使用它运行即可实际重命名。

答案2

在Python中:

import os
files = [f for f in os.listdir('.') if f.startswith('Var1') and f.endswith('.cpp')]
for file in files: 
    os.rename(file, file.replace('Var1', 'Var4'))

答案3

将所有文件名放在一个文件中并运行以下命令,经检查它工作正常

 awk '{print "mv" " " $1 " " substr($1,1,3)"4"substr($1,5)}' filename| sh

相关内容