繁体   English   中英

如何获取当前目录中的实际文件(而不在脚本中精确命名)并进行处理?

[英]How to take actual files (without naming it precisely in the script) in the current directory and to process them?

我正在尝试创建一个脚本来减少音量,然后将5个音频文件合并为一个。 为了处理它,我使用了sox命令行。

问题是,我必须重命名当前目录中的所有文件,以使其名称与脚本中的名称匹配。 有没有一种解决方案可以自动将这5个音频文件保存在当前目录中并使用我的脚本进行处理?

因此,我不会花费太多时间来重命名每个文件。

非常感谢 !

#!/usr/bin/env bash

cd "$(dirname "$0")"

sox -v 0.5 Track-1.aif Track-10.aif
sox -v 0.5 Track-2.aif Track-20.aif
sox -v 0.5 Track-3.aif Track-30.aif
sox -v 0.5 Track-4.aif Track-40.aif
sox -v 0.5 Track-5.aif Track-50.aif

sox -m Track-10.aif Track-20.aif Track-30.aif Track-40.aif Track-50.aif Mix-orchestrate-1.aif

那这个呢?

cd "$(dirname "$0")"
mergecmd='sox -m'
for f in $(find . -type f -name "*.aif" | sort -V); do
    sox -v 0.5 "$f" "$f.voldown"
    mergecmd.=" $f.voldown"
done
mergecmd.=" Mix-orchestrate-1.aif"
exec "$mergecmd"

暂无
暂无

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

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