리눅스 uniq 명령어

리눅스 uniq 명령어는 “unique”의 약자이며, 텍스트 파일에서 중복된 행을 제거하고 하나의 행만 출력하는데 사용됩니다. 중복된 텍스트 데이터를 제거하고 몇 번의 반복이 있었는지 등을 확인할 때 매우 유용하게 사용할 수 있습니다.

  • uniq 명령어
  • 중복된 행을 제거 후 하나의 행만 출력하는 명령어
  • 주로 sort 명령어와 같이 활용
  • 텍스트 명령어
  • 위치: /usr/bin/uniq

✅ 리눅스 uniq 명령어 기본 사용법

uniq -[OPTION] [파일(INPUT)] [파일(OUTPUT)]

INPUT 파일은 대상 파일로써 표준 입력에서 읽은 후 기본 출력을 진행합니다. OUTPUT 파일은 리디렉션 파일을 의미합니다.

  • document.txt 파일의 기본 내역을 cat 명령어로 출력한 결과입니다.
~]# cat document.txt 
abc
cde
cde
nnnaaa
aaa
aaa
aaa
dddd
Money
  • uniq 기본만 사용하면 단순하게 중복된 행만 제거하기 때문에 보통 [-c] 옵션을 같이 사용합니다. 왼쪽에 중복된 행이 몇 번 있었는지 확인할 수 있습니다.
~]# uniq -c document.txt 
      1 abc
      2 cde
      1 nnnaaa
      3 aaa
      1 dddd
      1 Money

✅ uniq 옵션

✅ uniq 명령어 활용

document.txt의 텍스트 내용입니다.

cat document.txt 
abc
cde
cde
nnnaaa
AAA
aaa
aaa
dddd
Money
  • -i 옵션을 사용해서 대소문자 구분 없이 AAA(aaa) 행이 3번 출력 됨을 확인할 수 있습니다.
~]# uniq  -ci document.txt 
      1 abc
      2 cde
      1 nnnaaa
      3 AAA
      1 dddd
      1 Money
  • 중복 된 행을 모두 하나의 행[-d]으로 좌측 숫자로 표시[-i]해서 확인했습니다.
~]# uniq  -cd document.txt 
      2 cde
      2 aaa

✅ sort 명령어와 같이 활용하기

sort 명령어로 기본 오름차순 정렬을 하면서 몇 번 반복되는지[-c] 숫자로 표시합니다.

~]# sort document.txt | uniq -c
      1 AAA
      1 Money
      2 aaa
      1 abc
      2 cde
      1 dddd
      1 nnnaaa
리눅스 커맨드 라인 인터페이스(Linux command line Interface-CLI)

Similar Posts