이름에서 문자열을 찾아 확장자 앞의 이름으로 이동합니다.

이름에서 문자열을 찾아 확장자 앞의 이름으로 이동합니다.

다른 하위 디렉터리에 많은 파일이 있습니다. *-ABC-DE(7 numbers).ext 다음 이름의 모든 파일 이름을 바꾸고 싶습니다 .*-DE(7 numbers)-ABC.ext

가능합니까?

답변1

주어진

$ ls *.ext
bar-ABC-DE7654321.ext  foo-ABC-DE1234567.ext

그 다음에

$ rename -v 's/(ABC)-(DE\d{7})/$2-$1/' *.ext
rename(bar-ABC-DE7654321.ext, bar-DE7654321-ABC.ext)
rename(foo-ABC-DE1234567.ext, foo-DE1234567-ABC.ext)

~를 야기하는

$ ls *.ext
bar-DE7654321-ABC.ext  foo-DE1234567-ABC.ext

-n먼저 NB 테스트

관련 정보