Shell-Script

正則表達式刪除最後四個字元

  • February 14, 2016

當我將 .wav 文件轉換為 .mp3 文件時,有沒有辦法可以在下面一行腳本中使用正則表達式消除最後四個字元。截至目前,我的單行腳本生成的文件以.wav.mp3

for i in *.wav; do avconv -i "$i" "$i".mp3;done 

產生以下輸出

   Sanctify, Separate, & Success Success.wav.mp3
   There four types of love.wav.mp3
   Theres too much love to let you fail.wav.mp3

您不需要正則表達式,您想使用 Bash 的參數擴展來刪除傳輸中的文件副檔名:

for i in *.wav; do avconv -i "$i" "${i%.*}".mp3; done

在這裡,"${i%.*}"擴展為參數末尾的模式,由刪除最短匹配後的所有內容(*)定義.,即.wav

你也可以用"${i/.wav/.mp3}".

引用自:https://unix.stackexchange.com/questions/263265