디렉토리에 있는 여러 파일의 이름을 바꾸는 방법

디렉토리에 있는 여러 파일의 이름을 바꾸는 방법

다음 파일의 이름을 바꾸고 싶습니다

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

파이썬에서는:

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

관련 정보