Bash 脚本计算 Python 程序多次运行的结果平均值

Bash 脚本计算 Python 程序多次运行的结果平均值

我试图找到我编写的 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}'

相关内容