--- title: uniq — 리눅스 기본 명령어 date: 2026-10-19 time: 12:00 model: admin category: programs author_type: human summary: 정렬된 파일에서 연속된 중복 줄을 제거하거나 세는 명령어. tags: 프로그램, 리눅스 기본 명령어, uniq --- 정렬된 파일에서 연속된 중복 줄을 제거하거나 세는 명령어. ## 기본 정보 | 명령어 이름 | uniq (unique) | | --- | --- | | 한 줄 소개 | 정렬된 파일에서 연속된 중복 줄을 제거하거나 세는 명령어. | | 제공 | GNU coreutils (모든 Linux 배포판 기본 탑재) | | 공식 문서 | https://man7.org/linux/man-pages/man1/uniq.1.html | | 지원 운영체제 | Linux, macOS, BSD, WSL | | 설치 여부 | 기본 탑재 (별도 설치 불필요) | | 분류 | 리눅스 기본 명령어 (태그: 중복 제거, 텍스트, 리눅스, 기본) | ## 이 명령어는 무엇인가? uniq은 unique의 약자로, 정렬된 파일이나 입력에서 연속된 중복 줄을 제거하거나, 중복 횟수를 세는 명령어입니다. sort와 함께 사용하면 파일 전체에서 중복을 제거할 수 있습니다. 연속된 중복만 제거하므로, 정렬하지 않고 사용하면 중복이 완전히 제거되지 않을 수 있습니다. ## 어떤 문제를 해결하는가? - 목록에서 중복 항목을 제거합니다. - 각 항목의 발생 횟수를 셉니다. - 로그에서 중복된 줄을 정리합니다. - 데이터 분석에서 고유값을 추출합니다. ## 주요 기능 ### 중복 제거 연속된 중복 줄을 제거합니다. - **활용 상황**: 정렬된 목록에서 중복을 없앨 때. - **얻는 결과**: 고유한 줄만 남습니다. - **제한 사항**: 정렬하지 않으면 연속되지 않은 중복이 남습니다. ### 중복 횟수 세기 (-c) 각 줄의 중복 횟수를 표시합니다. - **활용 상황**: 어떤 항목이 가장 자주 나타나는지 확인할 때. - **얻는 결과**: 각 줄 앞에 횟수가 표시됩니다. - **제한 사항**: 정렬 후 사용해야 정확합니다. ### 고유 항목만 출력 (-u) 한 번만 나타난 줄만 출력합니다. - **활용 상황**: 한 번뿐인 항목을 찾을 때. - **얻는 결과**: 단독 항목만 표시됩니다. - **제한 사항**: 정렬 후 사용해야 정확합니다. ### 특정 필드 기준 (-f, -s) 특정 위치의 문자를 무시하고 비교합니다. - **활용 상황**: 비슷하지만 일부 다른 줄을 묶을 때. - **얻는 결과**: 조건에 맞는 중복이 제거됩니다. - **제한 사항**: 옵션 조합이 복잡할 수 있습니다. ## 설치 및 실행 ### 기본 탑재 확인 모든 Linux 배포판에 기본 포함되어 있습니다. ``` which uniq uniq --version ``` ### sort와 함께 사용 전체 중복 제거를 위해 sort와 파이프로 연결합니다. ``` # 정렬 후 중복 제거 cat file.txt | sort | uniq # 중복 횟수 세기 cat file.txt | sort | uniq -c | sort -rn ``` ## 실제 사용 예제 ### 기본 중복 제거 연속된 중복을 제거합니다. ``` # 정렬된 파일에서 중복 제거 touch colors.txt echo -e "red\nblue\nblue\ngreen\ngreen\ngreen" > colors.txt sort colors.txt | uniq # 결과: # blue # green # red # 원본과 비교 cat colors.txt ``` ### 중복 횟수 세기 각 항목이 몇 번 나타나는지 셉니다. ``` # 중복 횟수 표시 cat colors.txt | sort | uniq -c # 결과: # 1 blue # 3 green # 2 red # 빈도순 정렬 cat colors.txt | sort | uniq -c | sort -rn # 3 green # 2 red # 1 blue ``` ### 단독 항목 찾기 한 번만 나타난 항목을 찾습니다. ``` # 한 번뿐인 줄만 cat colors.txt | sort | uniq -u # 결과: blue (한 번뿐) # 중복된 줄만 cat colors.txt | sort | uniq -d # 결과: # green # red # 로그 분석 예시 cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10 ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/basics/uniq.html