端末と正規表現を使用してファイル名の先行番号を削除して名前を変更する

端末と正規表現を使用してファイル名の先行番号を削除して名前を変更する

シリアル番号を削除して次のファイルの名前を変更したいと思います。

01 X.mp3到着X.mp3

02 Add Me In.mp3到着Add Me In.mp3

以下の名前変更コマンドを使用しようとしています。

rename -v -n 's/^\d+\s*([a-z]+\.mp3)$/$1\.mp3/' *.mp3

このコマンドを実行すると、次のエラーが発生します。

Using expression: sub { use feature ':5.18'; s/^\d+\s*([a-z]+\.mp3)$/$1\.mp3/ }

ベストアンサー1

なぜこのようなエラーが発生するのかわかりません。実際には、示されたものよりも多くのエラー行があると確信しています。まず、実際のエラーメッセージはありません。

ただし、対応する正規表現は実際にはサンプルファイルと一致しません。使用しているものは[a-z]+\.mp3小文字のみと一致し、拡張子は常に一致するため、名前に次のファイルが含まれます。ただ削除する数字とスペースの後に続く小文字です。 match[a-zA-Z]または use を使用するs///iと、一致で大文字と小文字を区別することはできませんが、残りの単語はまったく一致しないことをお勧めします。最初から数字とスペースだけを削除したいので、一致させてください。

rename -vn 's/^\d+\s+//' *mp3

おすすめ記事