为目录中的所有文件运行SPTK命令

时间:2014-03-25 19:42:41

标签: bash file shell command repeat

我有以下命令将原始文件转换为float

x2x +sf < /raw-en/1.raw > /raw-f/1.f

我需要为目录中的所有文件运行它&#34; raw-en&#34;

2 个答案:

答案 0 :(得分:2)

您可以遍历目录中的文件:

#!/bin/bash
for filename in /raw-en/*; do
    x2x +sf < "$filename" > /raw-f/"${filename%.*}.f"
done

这应该适合你的情况。

PD:扩展更改取自:https://stackoverflow.com/a/4411117/2317111

答案 1 :(得分:2)

这是for循环的典型用例:

for file in /raw-en/*; do
    x2x +sf < $file > /raw-f/$(basename $file .raw).f
done

编辑:固定输出目录,如@ederollora所述。

编辑[2]:您应该考虑在*.raw循环中使用for来设置您的用例(再次感谢@ederollora)。