awk (Aho + Weinberger + Kernighan)
awk 의 기본 기은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것
| 동작 예시 | 명령어 |
| 파일의 전체 내용 출력 | awk '{print}' [FILE] |
| 필드 값 출력 | awk '{ print $1}' [FILE] ( $1은 첫번째 필드) |
| 필드 값에 임의 문자열을 같이 출력 | awk '{print "STR"$1, "STR"$2}'[FILE] |
#!/bin/bash
echo -e "\nPOD LOG Analyze\n"
#-e 옵션은 "없이 내용 표시
echo -e ":: COUNT OF ACCESS IP ::"
cat 0.log | grep GET | awk '{print $4}' | sort | uniq -c | sort -n
echo -e "\n:: COUNT OF ACCESSER BY HOUR ::"
cat 0.log | grep GET | awk '{print $4}' | awk -F ":" '{print $2}' | uniq -c
echo -e "\n:: COUNT OF HTTP STATUS CODE ::"
cat 0.log | grep GET | awk '{print $12}' | sort | uniq -c
echo -e "\n"
GET 으로 시작 된 줄 만 찾기

cat 0.log

HTTP 상태 로그 (200, 300) 아래 한 줄 에 대한 로그 추출

uniq
uniq 명령어는 중복된 내용의 행이 연속으로 있으면 하나만 남기고 삭제한다.
전체적으로 분산된 중복은 찾아내지 못한다. 따라서 정렬하여 순차적으로 만든뒤에 적용한다. (sort와 같이 쓰기 좋음)

🐧 AWK 명령어 문법 마스터 💯 총정리
AWK (Aho Weinberger Kernighan) 개념 AWK는 텍스트가 저장되어 있는 파일을 원하는 대로 필터링하거나 추가해주거나 기타 가공을 통해서 나온 결과를 행과 열로 출력해주는 프로그램 이다. 좀더 쉽게 말
inpa.tistory.com
awk 명령어 참조 :
🐧 AWK 명령어 문법 마스터 💯 총정리
AWK (Aho Weinberger Kernighan) 개념 AWK는 텍스트가 저장되어 있는 파일을 원하는 대로 필터링하거나 추가해주거나 기타 가공을 통해서 나온 결과를 행과 열로 출력해주는 프로그램 이다. 좀더 쉽게 말
inpa.tistory.com
'리눅스' 카테고리의 다른 글
| /etc/passwd/ (0) | 2024.09.09 |
|---|---|
| 사용자 관리 스크립트 / IFS (0) | 2024.09.09 |
| 데이터 백업 스크립트 / if, fi (3) | 2024.09.06 |
| 배포 스크립트 / jq, tr, for , scp (3) | 2024.09.06 |
| 서버 상태 체크 스크립트 / SAR, uname (2) | 2024.09.06 |