次の名前のリストがあります。
/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/rename
。perl's rename
このコマンドがない場合は、パッケージマネージャを検索してインストールするか、手動で行う
最後に、このツールはもともとPerlの父親であるLarry Wallによって書かれました。
答え3
新しい「歌」の名前をどこで得たのかわかりません。始めて…filename_album1-003.mp3
に切り替えるとfilename_song-3.mp3
…
ID3タグから曲名を取得すると、タグ情報からmp3の名前を変更できるプログラムを使用する方が簡単です。 easytag、mp3rename、lltagのように... Debianリポジトリと他のリポジトリに複数のものがあります