xargs:未终止的引号

Raf*_*ner 4 mp3 ffmpeg xargs

我正在尝试将一些 .flac 文件转换为 .mp3,以便将其导入 iTunes。我尝试使用 find、xargs 和 ffmpeg,但 xargs 给我一个未终止的引号错误(因为我的文件名中有引号)。

这是我的命令行:

MacKassner:Geto Boys kassner$ find . -type f | egrep "\.flac$" | xargs -I {} ffmpeg -i {} -ab 192k -acodec libmp3lame -ac 2 {}.mp3
Run Code Online (Sandbox Code Playgroud)

它停止并在文件名“Talkin' Loud Ain't Saying Nothin'.flac”中引发错误。

有什么技巧可以让这个发挥作用吗?

- 仅用查找解决 - 查找。-type f -name "*.flac" -exec ffmpeg -i {} -ab 192k -acodec libmp3lame -ac 2 {}.mp3 \;

Ole*_*nge 5

使用 GNU 并行。它是专门为此目的而构建的:

MacKassner:Geto Boys kassner$ find . -type f | egrep "\.flac$" | parallel ffmpeg -i {} -ab 192k -acodec libmp3lame -ac 2 {}.mp3
Run Code Online (Sandbox Code Playgroud)

您可能还想使用 {.}.mp3 来摆脱 .flac:

MacKassner:Geto Boys kassner$ find . -type f | egrep "\.flac$" | parallel ffmpeg -i {} -ab 192k -acodec libmp3lame -ac 2 {.}.mp3
Run Code Online (Sandbox Code Playgroud)

观看介绍视频以了解更多信息:http://www.youtube.com/watch ?v=OpaiGYxkSuQ