bash를 사용하여 숫자 목록에서 평균, 최대 및 최소를 어떻게 알 수 있습니까? 및 sed가있어 각

일련의 파이프 그렙, awk 및 sed가있어 각 줄에 하나씩 숫자 목록을 생성합니다. 이 같은:

1.13
3.59
1.23

평균, 최대 및 최소를 출력하는 것으로 파이프를 파이프하는 방법은 무엇입니까?



답변

이미 awk를 사용하고 있기 때문에

blahblahblah | awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print total/count, max, min}'

답변

이 프로그램은 명령 줄에서 숫자 목록에 대한 통계를 생성하는 데 유용합니다. http://web.cs.wpi.edu/~claypool/misc/stats/stats.html


답변

R이 할 수있는 거의 모든 작업을 수행 할 수 있지만 키 입력은 줄이면서 더 간단합니다.

https://code.google.com/p/simple-r/

평균, 최대 및 최소를 계산하려면 다음 중 하나를 입력해야합니다.

r summary file.txt
r summary - < file.txt
cat file.txt | r summary -

답변

@DerfK의 모자 끝으로 :

perl -lane '$n=$F[0]; if(not defined $min){$min=$max=$n}; if($n>$max){$max=$n}; if($n<$min){$min=$n}; $total+=$n; $count+=1; END{print $total/$count." $max $min"}'

$F[0] 각 줄의 첫 번째 (0) 필드 값

입력 데이터가 쉼표로 구분 된 경우 -F,앞에 수정자를 추가하십시오-lane