如何修改Kubuntu下SoX的stats命令以仅输出指定音频统计参数
修改后可直接使用的命令
for file in *.mp3; do echo -e '\n--------------------\n'"$file"'\n'; sox "$file" -n stats 2>&1 | grep -E '^(Pk lev dB|RMS lev dB|RMS Pk dB|RMS Tr dB)'; done > stats.txt
改动说明
- 新增
2>&1把SoX默认输出到标准错误流的stats结果转成标准输出,才能传递给grep做过滤 - 用
grep -E加正则规则,只保留你需要的4个字段对应的行,其余统计项全部过滤 - 给变量
$file加上双引号,兼容文件名带空格、特殊字符的场景,避免执行报错 - 移除了原命令末尾无效的
| tail -1:原命令已经把所有输出重定向到了stats.txt,管道后的tail无法拿到任何输入,属于冗余代码
内容的提问来源于stack exchange,提问作者BabaG
相关产品推荐
相关产品推荐

