여러 디렉터리에 있는 여러 파일의 이름을 디렉터리 이름에 1을 더한 이름으로 바꿉니다.

여러 디렉터리에 있는 여러 파일의 이름을 디렉터리 이름에 1을 더한 이름으로 바꿉니다.

나는 여러 파일의 이름을 해당 디렉토리로 바꾸려고 노력해 왔습니다.

공백이 있거나 없는 여러 디렉터리가 있습니다 /The Dark Tower.

파일 이름에 공백이 있거나 없는 여러 헤더가 있습니다.

/The Dark Tower/TDT feature.mov
/The Dark Tower/Main Trailer.mov 
/The Dark Tower/Trailer_Sub

이 디렉터리의 파일을 변경하고 파일 이름 끝에 숫자와 함께 폴더 이름을 추가해야 합니다.

/The Dark Tower/TDT feature.mov   ->   /The Dark Tower/The Dark Tower1.mov

/The Dark Tower/Main Trailer.mov  ->   /The Dark Tower/The Dark Tower2.mov

/The Dark Tower/Trailer_Sub       ->   /The Dark Tower/The Dark Tower3.mov

저는 이 작업을 수동으로 수행해 왔지만 스크립트를 사용하여 제가 가지고 있는 100개의 영화 타이틀에 대해 수행할 수 있었으면 좋겠습니다. 나는 그것이 이루어질 수 있다는 것을 알고 있지만 현재 나의 시도는 성공하지 못했습니다.

답변1

Bashism을 사용하여 파일 이름 바꾸기

물론 이를 수행하는 다른 방법도 있지만 셸 자체 이외의 유틸리티에 의존하지 않는 순수한 Bash 솔루션을 찾고 있다면 다음이 작동할 것입니다.

dir="The Dark Tower"
declare -i count=1
for file in "$dir"/*.mov; do
    mv "$file" "${dir}/${dir} ${count}.mov"
    count+=1
done

관련 정보