명령 줄에서 숫자 세트의 평균을 얻는 가장 빠른 방법은 무엇입니까?
-
03-07-2019 - |
문제
NIX 시스템에서 찾을 것으로 예상되는 도구를 사용하여 (실제로 원한다면 MSDOS도 괜찮습니다), 숫자 세트의 평균을 계산하는 가장 쉬운/가장 빠른 방법은 무엇입니까? 스트림이나 파일로 줄 당?
해결책
어색한
awk '{total += $1; count++ } END {print total/count}'
다른 팁
awk ' { n += $1 }; END { print n / NR }'
이것은 합계를 축적합니다 n
, 그런 다음 항목 수로 나눕니다 (NR
= 레코드 수).
정수 또는 현실을 위해 작동합니다.
사용 숫자 유니스 :
average 1 2 3 4 5 6 7 8 9
perl -e 'while (<>) { $sum += $_; $count++ } print $sum / $count, "\n"';
PowerShell에서는 그렇습니다
get-content .\meanNumbers.txt | measure-object -average
물론, 그것은 장점 구문입니다. 별명을 사용하여 입력 한 경우
gc .\meanNumbers.txt | measure-object -a
"st"사용 (https://github.com/nferraz/st):
$ st numbers.txt
N min max sum mean sd
10.00 1.00 10.00 55.00 5.50 3.03
개별 통계를 볼 수있는 옵션을 지정하십시오.
$ st numbers.txt --mean
5.5
(면책 조항 : 나는이 도구를 썼다 :))
펄.
@a = <STDIN>;
for($i = 0; $i < #@a; $i++)
{
$sum += $a[i];
}
print $a[i]/#@a;
경고 emptor : 내 구문은 약간 까다로울 수 있습니다.
제휴하지 않습니다 StackOverflow