bash에서 여러 파일의 이름을 공백으로 바꾸고 파일 이름 앞에 숫자를 추가하십시오.

bash에서 여러 파일의 이름을 공백으로 바꾸고 파일 이름 앞에 숫자를 추가하십시오.

내가 가지고 있는 파일 목록은 다음과 같습니다.

$ ls -rt1
First Day in Tokyo.mp4
First Day in Seoul.mp4
Second Day in Beijing.mp4
Third Day in Bangcock!.mp4
Last Day in Singapore.mp4
$

내가 원하는 것은:

01. First Day in Tokyo.mp4
02. First Day in Seoul.mp4
03. Second Day in Beijing.mp4
04. Third Day in Bangcock!.mp4
05. Last Day in Singapore.mp4

안감도 있나요?

답변1

for file in *
do
    let ++i
    mv "$file" "$(printf '%02d. %s' "$i" "$file")"
done

예:

$ cd "$(mktemp --directory)"
$ touch foo bar
$ for file in *
> do
>     let ++i
>     mv "$file" "$(printf '%02d. %s' "$i" "$file")"
> done
$ ls
'01. bar'  '02. foo'

관련 정보