본문 바로가기
Linux Unix

[ Linux ] awk,uniq 특정 패턴의 count 를 구함

by 정윤재 2011. 2. 28.


내가 uniq 를 처음 접한건 에러 로그 중에 400 에러 이상힌 것의 수를 구하기 위해서 였다.

로그에 http 코드 로 에러가 남는데 400 이상이 에러 이므로

cat 201102281430.txt | awk -F " " '{if($22>400){print $22}}' | sort | uniq -c

이런식으로 오류를 정렬하였다

xxx xxx xxx 200 xxx xxx xxx

이런식으로 http 코드의 로그가 쌓이기 때문에

400 이상인 것들에 대해  숫자가 출력 되었다

($22 가 http code 였음)

결과는

400 2
404 20
500 10
...

이런식으로 http 코드별로 400 이 넘는 것의 갯수가 출력된다.

그리고 나서는

cat 201102281430.txt | awk -F " " '{if($22 == 404){print $1"  "$22"  "$28}}'

이렇게 하여 오류코드가 제일 많은 것의 내용을 확인 하였다.

댓글