디렉토리의 변수 단어를 일치시켜 여러 파일의 이름을 바꿉니다.

디렉토리의 변수 단어를 일치시켜 여러 파일의 이름을 바꿉니다.

한 디렉터리에 여러 개의 파일이 있는데 이름을 바꾸고 파일 이름에서 일치하는 단어만 제거하고 싶습니다.

예시 파일:

8 - build a php mvc application - finished (part 8_9).mp4
9 - build a php mvc application - database (part 9_9).mkv

두 파일의 확장명이 다르고 제거하고 싶은 일치하는 부분이 있습니다.

(part 9_9)이 부분은 아무리 많아도 삭제하고 싶습니다 .

답변1

문자열을 제거하고 싶지만 (part 8_9)숫자 쌍에 대해서는 다음 rename명령(때때로 호출됨 prename)을 사용할 수 있습니다.

rename -n 's/\s*\(part \d+_\d+\)//' *part*

이 버전은 또한 패턴 앞의 모든 공백을 제거하여 요청하지 않았더라도 파일 이름이 더 보기 좋게 만듭니다. \s*정말로 이 작업을 수행하고 싶지 않다면 패턴의 앞부분을 무시하세요.

예상대로 작동한다고 확신하면 "무슨 일이 일어나는지 알려주세요" 플래그를 -n로 변경 -v하거나 완전히 제거하세요.


rename여기에서 사용하는 식별자는 다음과 같습니다 .

rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]

관련 정보