가장 많이 방문한 IP를 기준으로 Apache 로그 정렬

가장 많이 방문한 IP를 기준으로 Apache 로그 정렬
cat access.log | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | sort -n | uniq -c | sort -n

나는 이 말을 이해하지 못한다. 누가 설명해 주세요.

답변1

로그 파일을 읽고, IP를 일치시키고, 개수를 계산합니다...

남자 grep이 말했다:

 -o, --only-matching
              Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

남자 종류 말한다 :

-n, --numeric-sort
              compare according to string numerical value

맨유니크는 이렇게 말했다.

-c, --count
              prefix lines by the number of occurrences

답변2

이 줄은 "access.log"를 처리하고 IP4 주소(중간에 점이 있는 1부터 3까지의 숫자 4배)가 있는 줄을 필터링합니다.

그런 다음 출력을 숫자로 정렬하고(sort-n 먼저) 중복 항목을 제거한 다음(uniq) 다시 정렬합니다.

두 번째는 생략해도 될 것 같아요.

관련 정보