개요
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`)