Linux의 Apache 액세스 로그에서 원하는 출력을 얻는 방법

Linux의 Apache 액세스 로그에서 원하는 출력을 얻는 방법

Bash 스크립트를 통해 Apache 액세스 로그에서 오류 코드와 해당 URL을 계산하고 싶습니다. 출력은 다음과 같아야 합니다.

Count   Error-code  URLs
24       404        /public_html/images/top-bottom.gif

어떤 아이디어가 있나요? ?

답변1

면책 조항: 이것은 완전히 테스트되지 않았습니다.

gawk '1{ print $9, $7;}' httpd.log \
| sort \
| uniq -c

필드 9(상태 코드) 및 7(경로)은 로그 파일에서 가져와서 정렬(먼저 상태 코드, 그 다음 경로 기준)된 다음, 연속된 행은 발생 횟수가 접두사로 붙은 한 행으로 병합됩니다. 이것은 당신을 더 발전시킬 것입니다

21 200 /path/does/exist.html
17 404 /path/doesnt/exist.html
...

관련 정보