파일 이름을 바꿀 때 캡처 그룹이 무시됩니다.


10

이 형식의 파일이 많이 있습니다.

##. ##-파일 이름 .mp4

이름을 다음과 같이 바꾸고 싶습니다.

s ## e ##. mp4

이것이 내가 생각해 낸 것입니다.

이름 바꾸기 -n "s / ^ (\ d {2}) \. (\ d {2}). * / s $ 1e $ 2.mp4 /"

http://regexr.com/에서 테스트 할 때 작동 하지만 Ubuntu 12.04 설치에서 명령을 실행하면 모든 파일의 이름이se.mp4

따라서 그룹이 무시되거나 삽입되지 않은 것처럼 보입니다. 맹목적으로 명백한 것이 누락되었거나 다른 일이 있습니까?

pyRenamer를 사용하여 훌륭하게 작동했지만 여전히 rename제대로 작동하지 않는 이유를 알고 싶습니다 .

나에게 도움을 주셔서 감사합니다.

답변:


14

아마도 큰 따옴표를 사용하면 쉘이 확장 $1되고$2

$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4

반면 이름 바꾸기 표현식은 작은 따옴표로 묶습니다.

$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.