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) 다시 정렬합니다.
두 번째는 생략해도 될 것 같아요.