[英]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 中工作。
如果你想做额外的逻辑,比如删除文件,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.