mp3ファイル名を特定のパターンに変更します。

mp3ファイル名を特定のパターンに変更します。

次の名前のリストがあります。

/A/B/C/D/E/F/filename_album1-003.mp3

アルバムに近いです\d+

私はそれを次のように変更したいと思います。

/A/B/C/D/E/F/filename_song-3.mp3

songちょうど固定文字列です。

同様のことを試しましたが、数字が欠落しており、先行001はすべて削除されませんでしたbasename -s '.mp3'sed -e /_album//gこれを行うための良い方法はありますか?

答え1

そしてzsh

$ autoload zmv # best in ~/.zshrc
$ zmv -n '(**/)(*_)*-0#(<->.mp3)' '$1$2song-$3'
mv -- A/B/foo_bar-0002.mp3 A/B/foo_song-2.mp3

-n満足のいくものを削除してください。

答え2

この試み:

rename -n 's/_album1-0*/-song-/' /A/B/C/D/E/F/filename_album1-003.mp3

-nテストが正常な場合はスイッチを取り外してください)

警告する これを行うこともできないかもしれない同じ名前の他のツールがあるので注意してください。

次のコマンドを実行すると(GNU

$ file "$(readlink -f "$(type -p rename)")"

この結果が出ました。

.../rename: Perl script, ASCII text executable

以下は含まれません:

ELF

もしそうなら、これは正しいツールのようです=)

そうでない場合は、それをデフォルト値に設定し(通常はすでに適用されている)、Debian次のように派生しますUbuntu

$ sudo update-alternatives --set rename /path/to/rename

(コマンドのパスに置き換えます/path/to/renameperl's rename


このコマンドがない場合は、パッケージマネージャを検索してインストールするか、手動で行う


最後に、このツールはもともとPerlの父親であるLarry Wallによって書かれました。

答え3

新しい「歌」の名前をどこで得たのかわかりません。始めて…filename_album1-003.mp3に切り替えるとfilename_song-3.mp3

ID3タグから曲名を取得すると、タグ情報からmp3の名前を変更できるプログラムを使用する方が簡単です。 easytag、mp3rename、lltagのように... Debianリポジトリと他のリポジトリに複数のものがあります

関連情報