我正在尝试将所有 m4a 转换为 mp3 我的代码如下所示:
find . -name '*.m4a' -print0 | while read -d '' -r file; do
ffmpeg -i "$file" -n -acodec libmp3lame -ab 128k "${file%.m4a}.mp3";
done
Run Code Online (Sandbox Code Playgroud)
但它只适用于第一个 mp3 文件,接下来它会显示错误:
Parse error, at least 3 arguments were expected, only 1 given in string '<All files in one line>'
Enter command: <target>|all <time>|-1 <command>[ <argument>]
Run Code Online (Sandbox Code Playgroud)
这些文件包含空格和号和括号。
\n\n\n当\xc2\xa0逐行读取文件时,如果循环内的命令也读取stdin,则可能会耗尽输入文件。
\n
继续阅读此处:Bash 常见问题解答 89
\n\n所以代码应该是这样的:
\n\nfind . -name \'*.m4a\' -print0 | while read -d \'\' -r file; do\n ffmpeg -i "$file" -n -acodec libmp3lame -ab 128k "${file%.m4a}.mp3" < /dev/null\ndone\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
6727 次 |
最近记录: |