Calibre가 내 라이브러리에 액세스하도록 허용했고 각 폴더 뒤에 (123)을 추가하여 모든 폴더 이름을 변경하기로 결정했습니다. (123을 임의의 숫자로 바꾸세요.)
폴더 이름에서 모든 "(???)" 문자열을 제거하기 위해 Linux(Debian) 터미널에서 사용되는 명령은 무엇입니까?
답변1
이 rename
도구( rename
Debian 패키지에 있음)를 사용하면 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"로 바꿔서 먼저 테스트해 보는 것이 좋습니다.