web-dev-qa-db-ja.com

mp3ファイル名の名前をパターンに変更

私はそう好きな名前のリストを持っています:

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

アルバムのようなもの\ d +

次のようなものに変更したいのですが

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

songは単なる固定文字列です。

basename -s '.mp3'、次にsed -e /_album//gのようなものを試しましたが、これは数字 `を見逃し、先頭の001をすべて削除しません。これを行う良い方法は何ですか?

2
Sten Kin

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スイッチを削除してください)

warningこれを実行できる場合とできない場合がある同じ名前の他のツールがあるので、注意してください。

次のコマンドを実行した場合(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のお父さんであるLarryWallによって作成されました。

1
Gilles Quenot

新しい「曲」の名前がどこから取得されているのかわかりません。filename_album1-003.mp3で始まり、filename_song-3.mp3 ..に切り替えます。

ID3タグから曲名を取得している場合は、タグ情報からmp3の名前を変更できるプログラムを使用する方が簡単です。 easytag、mp3rename、lltagのようなもの... Debianリポジトリなどにいくつかあります

0
Xen2050