개요
`uniq`는 주로 `sort` 명령어와 함께 파이프(|)로 연결하여 사용되며, 정렬된 데이터에서 중복된 라인을 효율적으로 처리합니다. `-c` 옵션은 중복 라인의 개수를 쉽게 파악할 수 있게 해줍니다.
주요 특징
- 연속된 중복 라인 처리
- 중복 라인 개수 세기 (-c)
- 대소문자 무시 옵션 (-i)
- 특정 필드 또는 문자 무시 비교
주요 옵션
기능
비교 방식
생성된 명령어:
명령어를 조합해 보세요.
설명:
`uniq` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
파일 내 단어 빈도수 계산
sort words.txt | uniq -c
`words.txt` 파일의 각 단어(라인)가 몇 번 나타나는지 세어 출력합니다. `uniq`는 연속된 중복만 처리하므로, `sort`를 먼저 사용하여 모든 중복을 인접하게 만듭니다.
로그 파일에서 가장 많이 나타난 라인 찾기
cat log.txt | sort | uniq -c | sort -nr
로그 파일에서 중복 라인의 개수를 세고, 그 결과를 개수(숫자)를 기준으로 내림차순 정렬하여 가장 많이 나타난 라인을 상위부터 보여줍니다.
대소문자 무시하고 중복 라인 개수 세기
echo -e "Apple\napple\nBanana\napple" | sort | uniq -ci
표준 입력에서 'Apple'과 'apple'을 같은 것으로 간주하여 중복 개수를 세어 출력합니다.
특정 필드 무시하고 중복 개수 세기
sort -k2 data.txt | uniq -f 1 -c
파일의 첫 번째 필드를 무시하고 두 번째 필드부터 비교하여 중복 라인의 개수를 세어 출력합니다. (예: `data.txt` 내용이 `ID1 apple`, `ID2 apple` 일 경우 'apple'이 2개로 계산)
팁 & 주의사항
`uniq` 명령어는 기본적으로 '연속적으로' 중복되는 라인만 처리합니다. 따라서 파일 전체에서 중복을 제거하거나 개수를 세려면, 먼저 `sort` 명령어를 사용하여 라인을 정렬해야 합니다.
활용 팁
- sort와 함께 사용: `uniq`는 연속된 중복만 처리하므로, 파일 전체의 중복을 처리하려면 `sort`로 먼저 정렬해야 합니다. 예: `sort file.txt | uniq -c`
- 가장 많이 나타난 항목 찾기: `uniq -c` 결과에 `sort -nr`을 파이프하여 가장 많이 나타난 항목을 내림차순으로 정렬할 수 있습니다. 예: `sort file.txt | uniq -c | sort -nr`
- 성능 고려: 매우 큰 파일의 경우, `sort`와 `uniq`의 메모리 사용량을 고려해야 합니다. 필요한 경우 `sort`의 `-T` 옵션으로 임시 디렉토리를 지정할 수 있습니다.