我想重命名以下文件
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