명령어/Linux

[리눅스] uniq 중복 제거 개수 세기

jykim23 2026. 7. 9. 10:34
반응형

부제: 정렬된 줄에서 중복을 없애거나, 몇 번 나왔는지 세기

sort app.log | uniq          # 중복 줄 제거
sort app.log | uniq -c       # 각 줄이 몇 번 나왔나
$ grep -oE 'INFO|WARN|ERROR' app.log | sort | uniq -c
      2 ERROR
      3 INFO
      2 WARN

uniq는 연달아 같은 줄만 합친다. 그래서 앞에 sort로 같은 줄을 모아줘야
제대로 동작한다. -c는 나온 횟수를 앞에 붙인다.

이렇게도 쓴다

로그 레벨별 건수를 센다(sort 조합).

grep -oE 'INFO|WARN|ERROR' app.log | sort | uniq -c

 

가장 많이 나온 순으로 세운다(빈도 순위).

sort access.log | uniq -c | sort -rn

 

중복된 줄만 골라 본다(-d).

sort emails.txt | uniq -d

 

딱 한 번만 나온 줄만 본다(-u).

sort ids.txt | uniq -u

 

대소문자를 무시하고 중복을 합친다(-i).

sort words.txt | uniq -i
반응형