ファイル名の切り捨て

ファイル名の切り捨て

同様の種類のファイルを含むフォルダがあります。

Dropkick Murphys - 01 - Walk Away.mp3
Dropkick Murphys - 02 - Workers Song.mp3

など...

次のように表示されるようにすべて変換したいと思います。

01 - Walk Away.mp3
02 - Workers Song.mp3

どうすればいいですか?

答え1

UbuntuやDebianでは簡単です。

rename 's/Dropkick Murphys - //' *mp3

答え2

1つを選択してください。

for i in *.mp3; do mv "$i" "${i#* - }"; done
for i in *.mp3; do mv "$i" "${i:19}"; done

答え3

forループを使用して、変更したいファイルを繰り返すことができます。はinの${var/from/to}最初の項目を置き換えるので、 "Dropkick Murphys-"は何もないものに置き換えられます。fromto$var${var/Dropkick Murphys - /}

for i in "Dropkick Murphys - "*; do
    mv "$i" "${i/Dropkick Murphys - /}"    
done  

答え4

zsh強制回答:

autoload zmv
zmv 'Dropkick Murphys - (*.mp3)' '$1'

バリアントはすべてのアーティストの名前を変更します。最初のコマンドは、最初のコマンドと最も長い一致を使用します。たとえば、名前がに*変更されます。Dropkick Murphys - 01 - Walk Away - concert.mp3Walk Away - concert.mp3

zmv '* - (* - *.mp3)' '$1'
zmv '*.mp3' '${f#* - }'

関連情報