미니옵빠의 code stubs

Text File 내 특정 column 기반으로 aggeration (group by) count 출력 본문

OS/Linux

Text File 내 특정 column 기반으로 aggeration (group by) count 출력

미니옵빠 2021. 12. 29. 18:17

운영 중 자주 사용하는 명령어 기록.

cat access.log | awk '{ print $1 }' | sort -nr | uniq -c | sort -nr -k 1


File 기반 access log 에서, 특정 column 기반으로 aggeration (group by) count 출력. count 높은 순으로 desc.
특정 사이트 접속이 많을 때, 접속량이 많은 도메인 추출 등에 활용

e.g.
아래와 같은 형태의 access log raw 가 있을 때

abc.domain.com 111.222.111.222 - - [28/Dec/2021:23:59:59 +0900] "GET "
bcd.domain.com 111.222.111.222 - - [28/Dec/2021:23:59:59 +0900] "GET "
abc.domain.com 111.222.111.222 - - [28/Dec/2021:23:59:59 +0900] "GET "

 

첫번째 column | desc 정렬 | aggeration | count 로 desc 정렬 결과를 출력