2017-12-28 10 views
-1

bashを使用して複数のファイルの名前を変更したいとします。
ファイル名に01が含まれている場合は、ファイル名の先頭に1などを追加します。最初のファイル名の変更

ファイル名:

Old Movie-01.mp4 
New Movie-02.mp4 
Clip From-before-03.mp4 
Clip Old-before-04.mp4 

望ましい結果:

1 Old Movie-01.mp4 
2 New Movie-02.mp4 
3 Clip From-before-03.mp4 
4 Clip Old-before-04.mp4 

答えて

5
for file in *.mp4; do 
    [[ $file =~ 0*([0-9]+)\.mp4$ ]] && mv -- "$file" "${BASH_REMATCH[1]} $file" 
done 

BASH_REMATCH[[ ... =~ ... ]]から試合が割り当てられている特殊な配列です。

+0

これは私が迷ったものです。ありがとう、 – user732

関連する問題