서버관리

본문 바로가기

서버관리

서버관리

특정 문자열이 로그 파일들에서 몇 번 등장하는지 파일별로 카운트하고, 결과를 정렬하기

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 789회 작성일 24-12-31 12:57

본문

grep -ro "auto.php" /var/log/ | awk -F: '{count[$1]++} END {for (file in count) print file " : " count[file]}' | sort -t ':' -k2 -n

명령어 설명

1. grep -ro "auto.php" /var/log/:
▶ -r: 하위 디렉토리를 재귀적으로 검색합니다.
▶ -o: 매칭된 문자열만 출력합니다.
▶ 이 단계에서 결과는 "파일명:매칭된 문자열" 형태로 출력됩니다.

2. awk -F: '{count[$1]++} END {for (file in count) print file ": " count[file]}':
▶ -F:: 필드 구분자를 :로 지정합니다.
▶ {count[$1]++}: 첫 번째 필드(파일명)를 키로 해서 등장 횟수를 카운트합니다.
▶ END {for (file in count) print file ": " count[file]}: 결과를 파일명과 함께 출력합니다.

3. | sort -t ':' -k2 -n:
▶ 출력된 결과를 :를 기준으로 두 번째 필드(카운트)로 숫자 정렬합니다.

이 방법은 grep과 awk만으로 처리하며, xargs와 추가적인 sh 호출을 제거하여 간략화했습니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인


  • 케이엔아이시스템
  • 대표 : 김현철
  • 경기도 안양시 동안구 부림로80 한양빌딩 601-1201
  • TEL : 010-2890-1451
  • E-mail : khc@knisystem.co.kr
  • 사업자등록번호 : 130-31-39246
Copyright © KNISYSTEM All rights reserved.