> 텍스트 처리 및 검색 > sort

sort -u: 중복 제거하며 정렬

sort -u 명령어는 텍스트 파일이나 표준 입력의 내용을 정렬하고, 중복되는 줄을 제거하여 고유한 줄만 출력합니다. 데이터 목록에서 중복을 제거하고 깔끔하게 정리할 때 매우 유용하게 사용됩니다.

개요

sort -u는 입력된 데이터를 오름차순으로 정렬하면서 동시에 중복된 줄을 하나만 남기고 모두 제거합니다. 이는 로그 파일 분석, 고유한 항목 목록 생성, 데이터 정제 등 다양한 상황에서 활용됩니다.

주요 특징

  • 데이터를 정렬하고 중복된 줄을 자동으로 제거
  • 파이프(|)를 통해 다른 명령어의 출력과 연동 가능
  • 숫자, 특정 필드 등 다양한 정렬 기준 지원
  • 대용량 파일 처리 효율성

주요 옵션

sort 명령어의 다양한 옵션 중 -u와 함께 자주 사용되거나 sort -u의 동작을 보완하는 옵션들을 소개합니다.

중복 제거 및 기본 동작

정렬 기준

출력 및 기타

생성된 명령어:

명령어를 조합해 보세요.

설명:

`sort` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

sort -u 명령어의 다양한 활용 예시를 통해 실제 사용법을 익혀보세요.

파일 내용 정렬 및 중복 제거

sort -u file.txt

file.txt의 내용을 정렬하고 중복된 줄을 제거하여 표준 출력으로 보여줍니다.

파이프를 통한 입력 처리

cat file.txt | sort -u

다른 명령어의 출력을 받아 정렬하고 중복을 제거합니다. 예를 들어, `cat` 명령어로 파일 내용을 전달합니다.

숫자 기준으로 정렬 및 중복 제거

sort -nu numbers.txt

numbers.txt 파일의 숫자들을 숫자 값으로 인식하여 정렬하고 중복을 제거합니다.

특정 필드를 기준으로 정렬 및 중복 제거

sort -t',' -uk2 data.csv

쉼표(`,`)로 구분된 data.csv 파일에서 두 번째 필드를 기준으로 정렬하고 중복을 제거합니다.

결과를 새 파일에 저장

sort -u input.txt -o output.txt

정렬 및 중복 제거된 결과를 output.txt 파일에 저장합니다.

팁 & 주의사항

sort -u 명령어 사용 시 유용한 팁과 주의사항을 안내합니다.

sort -u와 uniq의 차이점

  • sort -u: 입력 전체를 정렬한 후 중복을 제거합니다. 따라서 파일 내 어디에 있든 모든 중복을 제거합니다.
  • uniq: 인접한 줄의 중복만 제거합니다. `uniq`를 사용하려면 먼저 `sort` 명령어로 데이터를 정렬해야 합니다. `sort -u`는 이 두 과정을 한 번에 처리하는 편리한 방법입니다.

대소문자 구분

  • 기본 동작: sort -u는 기본적으로 대소문자를 구분하여 'Apple'과 'apple'을 다른 줄로 간주합니다.
  • 대소문자 무시: 대소문자를 무시하고 중복을 제거하려면 `-f` (fold-case) 옵션을 함께 사용하세요. 예: `sort -uf file.txt`

대용량 파일 처리 성능

  • 메모리 사용: 대용량 파일을 처리할 때 sort는 시스템 메모리를 많이 사용할 수 있습니다. `-S` 옵션으로 사용할 메모리 버퍼 크기를 지정하여 성능을 조절할 수 있습니다. (예: `-S 50%`는 사용 가능한 메모리의 50% 사용)
  • 임시 파일: 메모리가 부족할 경우 sort는 임시 파일을 생성합니다. `-T` 옵션으로 임시 파일을 저장할 디렉토리를 지정할 수 있습니다. (예: `-T /tmp`)

동일 카테고리 명령어