如何在 Ubuntu 中批量压缩和解压缩 Monkey's Audio?

如何在 Ubuntu 中批量压缩和解压缩 Monkey's Audio?

我正在使用终端中的命令mac来压缩和解压缩 Monkey's Audio 文件。但是,我想找到一种方法来一次对多个文件执行此操作。是否有mac我不知道的程序技巧,或者是否有其他程序可以提供帮助?

我只能在 WINE 下使用 Windows 的 GUI。请帮我摆脱这个问题 :)

答案1

不,mac一次只处理一个文件,因此您必须解决它。

假设您要编码/解码的文件位于特定文件夹或子文件夹中,而不是任意路径,则可以使用以下组合来完成寻找sed参数

例如,要对特定文件夹及其所有子文件夹中的所有 WAV 文件进行编码,输出文件仅具有 APE 扩展名,使用快速-c1000预设,您可以键入:

find ~/path/to/folder -name *.wav | sed 's/....$//g' \
   | xargs -I MACFILE mac "MACFILE.wav" "MACFILE.ape" -c1000

解释:

  • find在给定路径下查找所有带有 wav 扩展名的文件,并将其输出。
    • 您可以使用`pwd`(带反引号)作为当前文件夹的简写。
    • 添加参数-maxdepth 0以仅保留在当前文件夹而不进入子文件夹。
  • sed表达式删除(即替换为“空白”) find 返回的每个文件名的最后四个字符,即扩展名.wav.ape
  • 参数将每个文件名通过管道输入到mac命令中。
    • 讲述-I MACFILE参数替换每次出现的苹果电脑输入(文件名);这样我们就得到了具有适当扩展名的文件,而不是.wav.ape,等等。

解码仅在当前文件夹内,并输出到自定义文件夹,例如:

find `pwd` -name *.ape -maxdepth 0 | sed 's/....$//g' \
   | xargs -I MACFILE mac "MACFILE.ape" "/home/ryan/decodes/MACFILE.wav" -d

笔记:寻找是那些几乎无限的实用程序之一(请参阅man find)。有了正确的-exec选项-printf(甚至更多),寻找可能本身就足够了,而不需要sed参数,我相信有人会指出这一点 :)。但我发现这更容易解释和理解。

相关内容