개발을 잘하고 싶은 개발자

[Linux] awk 명령어란? 본문

Linux

[Linux] awk 명령어란?

_소피아 2021. 7. 31. 23:41

웹 로그에서

HTTP Response 상태값 200, 404, 300, 500 등 많은 데이터를 분석하기 위해 종종 awk 명령어로 분석한다

예를들어 아래와 같이 생긴 아파치 access 로그 'access_20210731.log' 파일을 분석할 때

127.0.0.1 - frank [10/Oct/2000:13:56:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
127.0.0.1 - sofia [10/Oct/2000:14:15:30 -0700] "GET /apache_pb.gif HTTP/1.0" 302 5034
127.0.0.1 - tomas [10/Oct/2000:14:15:39 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2327
127.0.0.1 - frank [10/Oct/2000:14:17:36 -0700] "GET /apache_pb.gif HTTP/1.0" 404 901

상태가 200인 로그의 수가 궁금하다! 또는 'frank'가 접근한 횟수가 궁금하다! 등등
이럴때 사용하는게 awk이다

참고 https://zzsza.github.io/development/2017/12/20/linux-6/

awk 프로그래밍 형식

  • awk 명령어를 입력한 다음, 작은따옴표로 둘러싸인 패턴이나 액션을 입력하고 마지막엔 입력 파일 이름. 파일 이름을 지정하지 않으면 키보드 입력에 의한 표준 입력을 받음. 그리고 awk는 입력된 라인들의 데이터들을 공백 또는 탭을 기준으로 분리해 $1부터 시작하는 각각의 필드 변수로 분리해 인식한다

 

'Linux' 카테고리의 다른 글

[Linux] 리눅스 파일의 글자 수를 알고 싶어 wc  (0) 2021.07.30