Bashスクリプトは、Pythonプログラムを複数回実行した結果の平均を計算します。

Bashスクリプトは、Pythonプログラムを複数回実行した結果の平均を計算します。

私が書いたPythonプログラムの平均結果を見つけようとしています。現在、このスクリプトは最初に出力をファイルにリダイレクトし、次にファイルから1行ずつ合計を計算するように書かれています。中間ファイルを削除して出力を標準出力に合計する方法はありますか?

#!/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}'

関連情報