아래의 입력 파일에 대한 중간 값을 계산해야합니다. 이상한 경우에는 제대로 작동하지만 짝수 때는 발생하지 않습니다. 아래는 입력 파일과 사용 된 스크립트입니다. 이 명령에 무엇이 잘못되었는지 확인하고 동일하게 수정하십시오.유닉스에서의 중앙값 계산
입력 파일 :
col1,col2
AR,2.52
AR,3.57
AR,1.29
AR,6.66
AR,3.05
AR,5.52
원하는 출력 :
AR,3.31
유닉스 명령을
cat test.txt | sort -t"," -k2n,2 | awk '{arr[NR]=$1} END { if (NR%2==1) print arr[(NR+1)/2]; else print (arr[NR/2]+arr[NR/2+1])/2}'
다음은 'awk -F', NR> 1 {a [++ x] = $ 2} END {asort (a); print (x % 2)? a [(x/2) +0.5] (a [x/2] + a [(x/2) +1])/2} '' –
스크립팅 언어를 사용하십시오. "2.52e-3"과 같은 부동 소수점 숫자는 사전적인 정렬을 어지럽 힙니다. –