Linux

如何重命名目錄中的多個文件

  • June 25, 2019

我想重命名以下文件

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 "*."

使用 Perl 重命名,您可以:

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

使用-n,它只會列印它會做的重命名。在沒有它的情況下執行以實際重命名。

在 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'))

引用自:https://unix.stackexchange.com/questions/526787