在 osx 上使用 xld 在命令行中拆分 cued 音频文件

Posted

技术标签:

【中文标题】在 osx 上使用 xld 在命令行中拆分 cued 音频文件【英文标题】:splitting cued audio files in command line with xld on osx 【发布时间】:2021-12-20 04:10:29 【问题描述】:

我正在用 xld 编写一个用于批处理音频文件的脚本。我想找到未拆分的专辑,将它们拆分并使用适当的标签将它们转换为 flac。

find . -name "*.ape" -exec sh -c 'exec xld  "$1" -f flac' _  \;

此命令行正在将音频转换为 flac,但我必须在 xld 中添加“-c filename.cue”选项以使其拆分文件。

找到 . -name "*.ape" -exec sh -c 'exec echo $1 | sed 's/.ape/.cue/'' _ ;

这个命令行显示了 .cue 文件的路径

找到 . -name "*.ape" -exec sh -c 'exec xld "$1" -f flac -c $1 | sed 's/.ape/.cue/'' _ ;

这个命令行不起作用,xld 说他没有找到 de cue 文件。我认为这只是一个语法问题。

感谢您的帮助

【问题讨论】:

【参考方案1】:

我没有像往常一样在计算机上进行测试,但在bash 中,您可以像这样替换变量的尾随部分:

thing="fred.ape"
echo $thing/%.ape/.cue
fred.cue

它被称为“参数替换/扩展”,并通过示例here进行解释。

因此,基于此,您需要执行 bash 类似的内容:

find . -name "*.ape" -exec bash -c "xld  "$1" -f flac -c "$1/%.ape/.cue"' _  \;

就我个人而言,我会像这样使用 GNU Parallel 并行完成所有这些操作:

parallel xld  -f flac -c ..cue ::: *.ape

您可以使用 homebrew 安装它:

brew install parallel

【讨论】:

以上是关于在 osx 上使用 xld 在命令行中拆分 cued 音频文件的主要内容,如果未能解决你的问题,请参考以下文章

将剪贴板输出到OSX命令行中的文件

如何在 MAC OSX 中拆分 sql?

PhpStorm + XAMPP 未在命令行中显示最新的 PHP 版本

正则表达式在 C# 中拆分 OSX df -h 输出

通过 osx 命令行构建 tess-two 的问题

使用 python 运行命令行操作