我有一个目录,其中包含要一个一个处理的文件,每个输出如下所示:
==== S=721 I=47 D=654 N=2964 WER=47.976% (1422)
然后我想通过管道输出到 AWK 来计算平均百分比(第 6 列)。我宁愿在一个脚本中完成这一切并编写以下代码:
for f in $dir; do
echo -ne "$f "
process $f
done | awk '{print $7}' | awk -F "=" '{sum+=$2}END{print sum/NR}'
当我多次运行它时,我经常得到不同的结果,尽管在我看来并没有真正改变。结果几乎总是不正确的。
但是,如果我只将for
循环放在脚本中并在命令行上通过管道传递给 AWK,那么结果总是相同且正确的。
有什么区别?如何更改脚本以获得正确的结果?