adsense_in_article_test


[bash:awk] awk를 이용한 평균값 계산 리눅스 bash script

awk를 이용해서 파일에 저장된 값들의 평균을 계산하는 방법이다. 우선 data.txt 파일에 아래와 같은 값이 저장되어 있다고 가정하자.

# data.txt 내용 확인
cat data.txt
john 12.35
jane -34.5
thomas 3.9

위와 같은 내용으로 저장되어 있을 때, 평균을 계산하려면 아래와 같이 가능하다.

awk '{ sum += $2; cnt++ } END { print sum/cnt }' data.txt
-6.08333

data.txt의 두번째 항목($2)을 더해서 변수 sum에 저장하고, 자료값의 수를 세기 위해 변수 cnt도 1씩 증가. 합산 작업이 끝나면(END) 합(sum)을 자료값의 수(cnd)로 나누면 평균이 된다.  

만약 파일 안에 유효하지 않은 행이 포함되어 있을 경우에는 grep을 조합하면 되겠다. data2.txt 파일이 아래와 같은 경우를 보자.

# data2.txt 내용 확인
cat data2.txt
# this is a test data file
john 12.35
jane -34.5
thomas 3.9

data2.txt의 첫번째 행이 "#" 기호로 시작하는 주석(comment)이므로 grep을 이용해서 제외하고 평균을 계산할 수 있다.

cat data2.txt | grep -v "^#" | awk '{ sum += $2; cnt++ } END { print sum/cnt }'
-6.08333



핑백

  • 반달가면 : [bash:awk] awk를 이용한 분산/표준편차 계산 2020-02-11 20:58:25 #

    ... 준편차(standard deviation)를 계산하는 방법이다. 표준편차를 계산하려면 우선 평균을 알아야 한다. awk를 이용한 평균값 계산은 이전 게시물을 참고하자. 여기로 전에 사용한 것과 동일한 예시를 사용해서 표준편차를 계산해 보자. data.txt 파일에 저장된 자료는 아래와 같다. # data.txt 내용 확인 cat da ... more

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.



통계 위젯 (화이트)

48564
2887
2278604

2019 대표이글루_IT

B-Side