繁体   English   中英

shell Automator 脚本使用 LAME 重新编码 MP3 并覆盖原始文件

[英]shell Automator script to re-encode MP3 using LAME and overwriting original files

我正在寻找一个包含许多 MP3 文件子文件夹的父文件夹,并以较低的样本和比特率重新编码。 我在我的 Mac 上的 Automator 中使用 Run Shell 脚本工作流程并使其成为 Finder 操作。

现在我可以传递一个文件夹并且脚本可以工作,但是我得到了带有双 *.mp3.mp3 扩展名的新 MP3 文件。

我知道 LAME 无法覆盖现有文件,但我无法创建在完成后删除原始文件的命令,然后从新文件中删除 double.mp3 扩展名。

find "$1" -name "*.mp3" -execdir /usr/local/bin/lame -a  --resample 44.1 -b 48 {} \;

我遇到了这个蹩脚的 - 覆盖现有文件,但无法让它在 Automator 中工作。

自动机截图

通过 Finder 快速操作

如果你想做额外的逻辑,比如删除文件,make find启动一个 shell 来做。

find "$1" -name "*.mp3" -execdir /bin/sh -c '
  for arg in "$@"; do
    if /usr/local/bin/lame -a  --resample 44.1 -b 48 "$arg"; then
      mv -- "$arg.mp3" "$arg" # success
    else
      rm -- "$arg.mp3" # failure
    fi
  done
' {} +

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM