使用sed将文件转换为mp3时将错误传递给mp3的错误

时间:2014-11-05 11:54:32

标签: bash sed

ls -1 | xargs --verbose -I{} basename {} \
    | sed 's/\.[^.]*$//' \
    | xargs -I{} lame {}.* {}.wav

使用此代码将文件夹中的所有wav文件转换为mp3会引发错误:

xargs : lame : No such file or directory 

2 个答案:

答案 0 :(得分:2)

试试这个:

find . -type f -name "*.wav" -exec bash -c 'mv $0 ${0/\.wav/\.mp3}' {} \;

find - 将以递归方式查找文件类型,其起始当前名称为* .wav -exec会将.wav扩展名的文件移动到.mp3。

答案 1 :(得分:0)

为什么不是循环而不是多个xargs?

LameApp="/YourAppPath/lame.exe"

ls | while read WavFileWExt
 do 
   "${LameApp}" "${WavFileWExt%.*}.mp3" "${WavFileWExt}"
 done