將 mp3 檔案名稱重新命名為某種模式

將 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。

答案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 儲存庫和其他儲存庫中有幾個

相關內容