我试图找到我编写的 python 程序的平均结果,当前编写此脚本首先将输出重定向到文件,然后在文件中逐行计算总和。有没有办法删除中间文件并仅对 stdout 的输出求和?
#!/bin/bash
> results
START=1
END=$1
for (( i=$START; i<=$END; i++ ))
do
pypy3 test_qfl.py 0 9 250000 >> results
done
awk '{ SUM += $1; n++} END { if (n > 0) print SUM / n;}' results
答案1
只是:
#! /bin/sh -
n=${1?}
while [ "$n" -gt 0 ]; do
pypy3 test_qfl.py 0 9 250000
n=$(( n - 1 ))
done | awk '
{sum += $1}
END {if (NR) print sum / NR}'