제가 작성한 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}'