私はそう好きな名前のリストを持っています:
/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をすべて削除しません。これを行う良い方法は何ですか?
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
満足している場合。
これを試して :
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/rename
をPerl's rename
コマンドのパスに置き換えます。
このコマンドがない場合は、パッケージマネージャーを検索してインストールするか、 手動で実行してください
最後になりましたが、このツールは元々、Perlのお父さんであるLarryWallによって作成されました。
新しい「曲」の名前がどこから取得されているのかわかりません。filename_album1-003.mp3
で始まり、filename_song-3.mp3
..に切り替えます。
ID3タグから曲名を取得している場合は、タグ情報からmp3の名前を変更できるプログラムを使用する方が簡単です。 easytag、mp3rename、lltagのようなもの... Debianリポジトリなどにいくつかあります