Bash 스크립트는 Python 프로그램을 여러 번 실행한 결과의 평균을 계산합니다.

Bash 스크립트는 Python 프로그램을 여러 번 실행한 결과의 평균을 계산합니다.

제가 작성한 Python 프로그램의 평균 결과를 찾으려고 합니다. 현재 이 스크립트는 먼저 출력을 파일로 리디렉션한 다음 파일에서 한 줄씩 합계를 계산하도록 작성되었습니다. 중간 파일을 제거하고 출력을 표준 출력으로 합산하는 방법이 있습니까?

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

관련 정보