ls -1 | xargs --verbose -I{} basename {} \
| sed 's/\.[^.]*$//' \
| xargs -I{} lame {}.* {}.wav
使用此代码将文件夹中的所有wav
文件转换为mp3
会引发错误:
xargs : lame : No such file or directory
答案 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