> 텍스트 처리 및 검색 > sort

sort 명령어 가이드: 텍스트 파일 정렬

`sort` 명령어는 텍스트 파일의 줄(line)이나 표준 입력으로부터 받은 데이터를 정렬하는 데 사용됩니다. 알파벳 순서, 숫자 순서, 역순 등 다양한 기준으로 데이터를 정렬할 수 있어 로그 파일 분석, 데이터 준비, 보고서 생성 등에서 매우 유용합니다. 이 가이드를 통해 `sort` 명령어의 기본적인 사용법과 다양한 정렬 옵션들을 익혀보세요.

sort 개요

`sort` 명령어는 기본적으로 각 줄을 전체적으로 비교하여 ASCII 문자 순서(사전순)로 정렬한 후 표준 출력으로 결과를 보냅니다. 원본 파일은 변경되지 않으며, 변경된 내용을 파일에 저장하려면 리다이렉션(`>`)을 사용해야 합니다.

sort의 주요 역할

`sort` 명령어는 주로 다음과 같은 목적으로 사용됩니다:

주요 활용 분야

  • 데이터 정렬: 로그 파일, 데이터 목록, 사용자 목록 등을 특정 기준으로 정렬하여 가독성을 높입니다.
  • 중복 제거: 정렬된 데이터를 기반으로 중복된 줄을 쉽게 제거할 수 있습니다. (`uniq`와 함께 사용)
  • 보고서 생성: 특정 필드를 기준으로 데이터를 정렬하여 분석하기 쉬운 형태로 만듭니다.
  • 파일 비교: 두 파일의 내용을 정렬하여 비교하기 전에 정규화하는 데 사용될 수 있습니다.

정렬 방식의 기본 원리

`sort`는 기본적으로 각 줄의 첫 문자부터 시작하여 문자 코드 값(ASCII 값)을 기준으로 비교합니다. 숫자의 경우에도 문자열로 취급하기 때문에 '10'이 '2'보다 먼저 오는 등의 예상치 못한 결과가 나올 수 있습니다. 이를 방지하려면 숫자 정렬 옵션을 사용해야 합니다.

주요 sort 명령어 옵션

`sort` 명령어는 다양한 옵션을 제공하여 정렬 기준, 순서, 중복 처리 등을 세밀하게 제어할 수 있습니다.

1. 정렬 기준 및 순서

2. 중복 및 공백 처리 옵션

3. 출력 및 구분자 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

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

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

사용 예시

`sort` 명령어의 다양한 활용 예시들을 통해 텍스트 데이터를 효율적으로 정렬하고 분석하는 방법을 익혀보세요.

파일 내용 기본 정렬

echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

`names.txt` 파일의 줄들을 알파벳 순서(오름차순)로 정렬하여 출력합니다.

파일 내용 역순(내림차순) 정렬

echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt

`numbers.txt` 파일의 숫자들을 문자열로 간주하여 역순으로 정렬합니다.

숫자 값 기준으로 정렬

echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt

`scores.txt` 파일의 점수(첫 번째 필드)를 실제 숫자 값 기준으로 오름차순 정렬합니다.

CSV 파일의 두 번째 컬럼(이름) 기준으로 정렬

echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv

쉼표(`,`)로 구분된 `users.csv` 파일에서 두 번째 필드(이름)를 기준으로 정렬합니다.

정렬 후 중복 줄 제거

echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt

`duplicates.txt` 파일의 내용을 정렬한 후, 중복되는 줄을 하나만 남기고 제거합니다.

정렬 결과를 새 파일에 저장

echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt

`unsorted.txt` 파일의 내용을 정렬한 후, 그 결과를 `sorted.txt` 파일에 저장합니다. 원본 파일은 변경되지 않습니다.

인간 가독형 크기로 정렬

echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt

파일 크기 목록을 인간 가독형 단위(K, M, G)를 고려하여 정렬합니다. `du -h` 등의 결과물을 정렬할 때 유용합니다.


동일 카테고리 명령어