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'

おすすめ記事