我知道有很多的这些问题在那里了,但我的情况是独一无二的,以至于没有人迄今帮助了我。
我正在写一个脚本,将重新格式化我的(不良标记)的音乐库。 这是目前在音乐/流派/艺术家/专辑/ ##的形式 - Title.wav。
而从Music目录,我跑我SCRIPT1,这就要求find -name "*.wav" -exec script2 {} ${other_args}
。 SCRIPT2解析路径变量,创建相应的输出目录,如果它不存在,然后调用的ffmpeg做压缩。
例如:($ sourcefilepath包含{}从FIND)
ffmpeg -i "$sourcefilepath" "$path/$to/$outfile.$extension"
如果我的文件名或路径不包含空格,它就像一个魅力。
如果它包含空格,ffmpeg的失败,并出现以下错误:
布鲁斯/乡村蓝调/节奏,乡村蓝调/ 08-Natalie Cole的与伊泰里巴由于我爱上了You.wav:没有这样的文件或目录
注:这是源文件无法找到。 输出文件似乎正常工作,即使有空间。 这不是完整的命令我跑(它有一些 - 元数据标记过,但似乎也正常。我用我上面写的命令调试)。
这里有趣的是,ffmpeg的不解释$ sourcefilepath因为有两个参数,它只是找不到我指定的文件。 从运行音乐作品目录下面。
ffmpeg -i Blues/Country\ Blues/Rhythm\,\ Country\ And\ Blues/08-Natalie\ Cole\ \&\ Reba\ McEntire\ \ \ Since\ I\ Fell\ For\ You.wav output.flac
我有种被困在这里。 在网络上的其它信息,包括得到一个命令来查看一个变量为一个精氨酸,而不是多重的空间。 我似乎已经做到了,但现在的ffmpeg无法找到我的文件。
通常我只用find -name "*.wav" -exec ffmpeg -i {} ${args} \;
但我需要处理,提取元数据我的文件路径。
我是相当新的shell脚本; 有谁知道这是怎么回事呢?