【发布时间】:2017-06-26 04:18:46
【问题描述】:
好的,你好。我有一些在命令行上使用的脚本来从 .wav 和 .aif 文件中翻录 mp3。最近我一直在玩这个只需要单声道 wav 文件的采样器。等等——我保证这是一个编程问题。 我想运行一个命令将目录中的所有 wav 文件拆分为具有不同文件名的单声道文件。 因此,例如 Drummerrolleasy.wav,然后 DrummerrolleasyL.wav 将与原始立体声 wav 的左单声道拆分位于同一目录中。 我会确保当命令运行时,目录中只有立体声 wav 文件。 我有这个命令:
find . -name "*.wav" -execdir echo $1 {} \;
按预期工作,并为我一一提供文件的名称,然后我想将其放入对 sox 的调用中。 这个:
find . -type f -name “*.wav” -exec sox {} "$1" L"$1" \;
不起作用(运行但什么也不做),而且我没有找到任何特别说明如何做到这一点的东西。我可能需要生成一个新的外壳,但这也不起作用,因为外壳就在那里:
find . -name "*.wav" -execdir sh -c 'sox "{}" "$1" “L””$1"’ \;
如果我必须自己解决这个问题,那也可以,当我到达那里时,我会更新,但如果有人想指出我正确的方向,我将非常感激。
【问题讨论】:
-
另外,对 sox 的直接调用如下所示:sox Drummersurvive.wav DrummersurviveL.wav remix 1 - LEFT 通道的源名称、副本名称、混音和 1。
-
这也不起作用:find 。 -type f -name “*.wav” -execdir sox {} "$1" L"$1" remix 1 \;