대규모 폴더 이름 수정 - Calibre

대규모 폴더 이름 수정 - Calibre

Calibre가 내 라이브러리에 액세스하도록 허용했고 각 폴더 뒤에 (123)을 추가하여 모든 폴더 이름을 변경하기로 결정했습니다. (123을 임의의 숫자로 바꾸세요.)

폴더 이름에서 모든 "(???)" 문자열을 제거하기 위해 Linux(Debian) 터미널에서 사용되는 명령은 무엇입니까?

답변1

rename도구( renameDebian 패키지에 있음)를 사용하면 Perl 정규식을 사용하여 파일 이름을 바꿀 수 있습니다.

폴더에 디렉토리만 있다고 가정하면 다음을 사용할 수 있습니다 rename.

rename 's/ \(\d\d\d\)$//' *

파일과 디렉터리가 있고 디렉터리 이름을 바꾸려는 경우 다음을 수행할 수 있습니다.

find . -mindepth 1 -depth -type d -exec rename 's/ \(\d\d\d\)$//' "{}" \;

답변2

나중에 참고할 수 있도록...

Calibre가 망친 라이브러리의 폴더를 수정하려면 다음 명령을 사용할 수 있습니다.

상위 폴더로 CD

find . -type d -execdir bash -c 'dest=${1//[0-9_()]/}; [[ -d $dest ]] || mv -- "$1" "$dest"' _ {} \;

"mv"를 "echo"로 바꿔서 먼저 테스트해 보는 것이 좋습니다.

관련 정보