ls -1 | xargs --verbose -I{} basename {} \
| sed 's/\.[^.]*$//' \
| xargs -I{} lame {}.* {}.wav
使用此代碼的所有wav
文件轉換文件夾以mp3
WAV格式轉換爲MP3拋出一個錯誤:錯誤,同時通過文件瘸子使用SED
xargs : lame : No such file or directory
ls -1 | xargs --verbose -I{} basename {} \
| sed 's/\.[^.]*$//' \
| xargs -I{} lame {}.* {}.wav
使用此代碼的所有wav
文件轉換文件夾以mp3
WAV格式轉換爲MP3拋出一個錯誤:錯誤,同時通過文件瘸子使用SED
xargs : lame : No such file or directory
試試這個:
find . -type f -name "*.wav" -exec bash -c 'mv $0 ${0/\.wav/\.mp3}' {} \;
查找 - 將遞歸地查找文件類型,其起始當前directoy的名稱如* .wav -exec將以.wav擴展名將文件移動到.mp3。
爲什麼不是一個循環而不是多個xargs?
LameApp="/YourAppPath/lame.exe"
ls | while read WavFileWExt
do
"${LameApp}" "${WavFileWExt%.*}.mp3" "${WavFileWExt}"
done
我得到一個錯誤sh:lame:命令未找到 – 2014-11-05 12:20:04
當管道系統,解析'ls'總是容易出錯時,'-1'是多餘的,引用你的變量/括號擴展,並添加'.mp3'結束第二個參數(沒有wav)跛行 – BroSlow 2014-11-05 12:35:34
對不起,複製舊的測試版本。我把最新的一個,並刪除-1(習慣使用其他選項) – NeronLeVelu 2014-11-05 15:29:56
這只是移動了文件,但我想用SOX或跛腳 – 2014-11-05 12:16:13
@MaheshwarSelvakumar然後,只需切換'mv'到'lame' – BroSlow 2014-11-05 12:29:52
你真的應該加上'-maxdepth 1'轉換文件,因爲在這個問題中沒有提到遍歷深度超過1的水平。 – BroSlow 2014-11-05 12:30:43