Linux와 커맨드 라인 기초
$ cat ips.txt
10.0.0.5
10.0.0.9
10.0.0.9
10.0.0.5
10.0.0.2
10.0.0.5
$ sort ips.txt | uniq -c | sort -nr | head -n 1선택지에서는 줄 맨 앞의 공백을 빼고 나타낸다. 위의 조작에서 마지막 명령이 출력하는 줄로 올바른 것은?
- A1 10.0.0.2
- B2 10.0.0.9
- C3 10.0.0.5
정답과 해설 보기
정답: C. 3 10.0.0.5
sort로 같은 줄이 이웃하도록 정렬하고, uniq -c로 이웃한 같은 줄을 하나로 합쳐 횟수를 붙이면 3 10.0.0.5, 2 10.0.0.9, 1 10.0.0.2의 3줄이 됩니다. sort -nr은 맨 앞의 수로 큰 순서대로 정렬하고, head -n 1로 첫 1줄을 꺼내므로 출력은 3 10.0.0.5입니다. uniq는 '이웃한' 같은 줄만 합치므로, 먼저 sort해 두는 것이 필수입니다. 이처럼 파이프로 명령을 연결하는 집계는 로그에서 접근이 많은 IP 주소나 자주 나오는 오류를 셀 때의 정석입니다.