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

본문
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 호출을 제거하여 간략화했습니다.
명령어 설명
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 호출을 제거하여 간략화했습니다.
댓글목록
등록된 댓글이 없습니다.
