반응형
    
    
    
  uniq 명령어
uniq 명령어는 파일이나 입력에서 연속으로 중복된 줄을 제거하거나 중복 여부를 확인하는 데 사용됩니다. 이 명령어는 주로 sort 명령어와 함께 사용됩니다. 이유는 uniq는 연속된 중복 줄만 처리하기 때문입니다. 따라서 데이터를 정렬한 후 사용하는 것이 일반적입니다.
기본 문법
uniq [OPTION]... [INPUT [OUTPUT]]- 입력 파일 : uniq가 처리할 파일입니다. 생략하면 표준 입력(STDIN)을 사용합니다.
- 출력 파일 : 처리 결과를 저장할 파일입니다. 생략하면 표준 출력(STDOUT)을 사용합니다.
uniq 주요 옵션
- -c : 중복된 줄의 개수를 출력합니다.
- -d : 중복된 줄만 출력합니다.
- -u : 고유한(중복되지 않은) 줄만 출력합니다.
- -i : 대소문자를 구분하지 않습니다.
- -f : 각 줄의 처음 N개의 필드를 무시하고 비교합니다.
- -s : 각 줄의 처음 N개의 문자를 무시하고 비교합니다.
- -z : 줄 끝을 널(\0) 문자로 처리합니다. (GNU 확장 옵션)
사용 예시
예제 데이터 생성
cat <<EOF | sudo tee -a file.txt
apple
banana
cherry
apple
apple
banana
cherry
cherry
EOF1. 중복된 줄 제거
입력 파일에서 연속된 중복 줄을 제거하고 결과를 출력합니다.
cat file.txt | uniqapple
banana
cherry
apple
banana
cherry2. 중복 횟수 표시
중복된 줄 앞에 중복 횟수를 출력합니다.
cat file.txt | uniq -c      1 apple
      1 banana
      1 cherry
      2 apple
      1 banana
      2 cherry3. 중복된 줄만 출력
연속으로 나타난 중복된 줄만 출력합니다.
cat file.txt | uniq -dapple
cherry4. 고유한 줄만 출력
중복되지 않은 고유한 줄만 출력합니다.
cat file.txt | uniq -uapple
banana
cherry
banana5. 정렬 후 중복 제거
데이터를 정렬한 후 중복 줄을 제거합니다. 정렬되지 않은 파일에서는 연속된 중복만 제거되므로 정렬 과정이 필요합니다.
sort file.txt | uniqapple
banana
cherry6. 대소문자 구분 없이 비교
대소문자 구분 없이 중복된 줄을 처리합니다.
cat file.txt | uniq -iapple
banana
cherry
apple
banana
cherry7. 특정 문자를 무시하고 비교
각 줄의 처음 2문자를 무시하고 나머지 부분으로 중복 여부를 비교합니다.
cat file.txt | uniq -s 2apple
banana
cherry
apple
banana
cherry8. 중복된 줄과 고유한 줄 확인
중복 횟수를 내림차순으로 정렬하여 가장 많이 중복된 줄을 확인합니다.
sort file.txt | uniq -c | sort -nr      3 cherry
      3 apple
      2 banana정렬 후 중복 제거
sort file.txt | uniq -c      3 apple
      2 banana
      3 cherry
uniq는 중복된 데이터를 정리하거나 패턴 분석에 유용합니다. 다른 명령어(sort, grep, awk)와 함께 사용하면 더 강력하게 활용할 수 있습니다.
참고URL
- Ubuntu Manpage : noble uniq
728x90
    
    
  반응형
    
    
    
  '리눅스' 카테고리의 다른 글
| Docker 이미지를 효율적으로 빌드하기 위한 방법 (0) | 2025.01.17 | 
|---|---|
| sort 명령어 (0) | 2025.01.16 | 
| SSL 인증서 확인 (0) | 2025.01.16 | 
| ps kill 명령어 (0) | 2025.01.16 | 
| GitHub Actions를 사용해 Spring Boot 애플리케이션을 빌드하고 Docker 이미지를 생성하여 Docker Hub에 업로드하는 방법 (0) | 2025.01.14 | 
 
                  
                 
                  
                 
                  
                