파일 디렉토리가 있습니다
$ ls -1
ep2.mp4
ep3.mp4
ep4.mp4
ep5.mp4
ep6.mp4
ep7.mp4
rename
Perl 유틸리티를 사용하여 모든 파일을 다음과 같이 만들고 싶습니다 .
ep02.mp4
내가 사용하는 명령
rename -n "s/([0-9])/0${1}/" *.mp4
현재 결과
ep2.mp4 renamed as ep0.mp4
ep3.mp4 renamed as ep0.mp4
ep4.mp4 renamed as ep0.mp4
ep5.mp4 renamed as ep0.mp4
ep6.mp4 renamed as ep0.mp4
ep7.mp4 renamed as ep0.mp4
원래 번호를 캡처하여 새 파일 이름에 삽입하려면 어떻게 해야 합니까?
답변1
\
대체 명령문 주위에 작은따옴표(또는 이스케이프)를 사용하십시오. 그렇지 않으면 쉘이 이를 ${1}
변수로 처리합니다.
그래서 당신은 이것을 할 수 있습니다 :
rename -n 's/([0-9])/0${1}/' *.mp4
또는
rename -n "s/([0-9])/0\${1}/" *.mp4