0
이 대답했다 어제 게시 한에서 후속 질문 :AWK - 4XX 오류 코드를 기반으로 상위 URL을 찾기
awk - Find the top url based on error code
내가 어제 대답을 사용하고 단지 404 잡는에서 수정이 오류 코드는 이제 모든 4xx를 잡아낼 수 있습니다.
awk '$3 ~ /^4/{a[$2]++}END{for(url in a){print a[url], url}}' samplelog.txt | sort -rn
이것은 작동하지만 지금은 좀 더 세분화 된 출력을 원합니다. 현재는 4xx를 모두 그룹화합니다. 예를 들어 403과 404는 고유하지 않게 2로 계산됩니다. 4xx를 모두 계산할 수 있기를 원하지만 고유 한 코드로 구분하십시오.
샘플 로그 :이 일을 같이 현재 스크립트와
가GET /foo 404
GET /foo 200
GET /foo 404
GET /foo 404
GET /foo 400
GET /foo 403
GET /foo 403
GET /bar 200
GET /bar 400
GET /foobar 404
GET /foobar 200
GET /foobar 404
GET /foobar 403
결과 (위와 동일)
awk '$3 ~ /^4/{a[$2]++}END{for(url in a){print a[url], url}}' samplelog.txt | sort -rn
6 /foo
3 /foobar
1 /bar
원하는 결과
3 /foo 404
2 /foo 403
2 /foobar 404
1 /foo 400
1 /bar 400
1 /foobar 403
보인다. 감사! –