English

sort — 리눅스 기본 명령어

Linux / 리눅스 기본 명령어 / sort.html

리눅스 기본 명령어원문등록 2026-10-19T09:00:00+09:00

텍스트 파일의 줄을 정렬하는 명령어. 중복 제거·숫자 정렬·역순 등 지원.

기본 정보

명령어 이름sort
한 줄 소개텍스트 파일의 줄을 정렬하는 명령어. 중복 제거·숫자 정렬·역순 등 지원.
제공GNU coreutils (모든 Linux 배포판 기본 탑재)
공식 문서https://man7.org/linux/man-pages/man1/sort.1.html
지원 운영체제Linux, macOS, BSD, WSL
설치 여부기본 탑재 (별도 설치 불필요)
분류리눅스 기본 명령어 (태그: 정렬, 텍스트, 리눅스, 기본)

이 명령어는 무엇인가?

sort는 텍스트 파일의 줄을 정렬하는 명령어입니다. 사전순, 숫자순, 역순, 중복 제거 등 다양한 정렬 옵션을 제공하며, 파이프와 함께 다른 명령어의 결과를 정렬할 때 자주 사용됩니다.

-k 옵션으로 특정 열 기준 정렬, -t 옵션으로 구분자 지정 등 데이터 처리에 유용한 기능을 갖추고 있습니다.

어떤 문제를 해결하는가?

  • 파일 내용을 사전순으로 정렬합니다.
  • 로그를 시간순·역순으로 정렬합니다.
  • 중복된 줄을 제거합니다.
  • 특정 열을 기준으로 데이터를 정렬합니다.

주요 기능

기본 정렬

줄을 사전순(ASCII)으로 정렬합니다.

  • 활용 상황: 이름 목록 등을 알파벳순으로 정리할 때.
  • 얻는 결과: 정렬된 결과가 출력됩니다.
  • 제한 사항: 대소문자를 구분할 수 있습니다 (LC_ALL=C).

숫자 정렬 (-n)

숫자로 인식해 정렬합니다.

  • 활용 상황: 크기·점수 등 숫자 데이터를 정렬할 때.
  • 얻는 결과: 10이 9보다 뒤에 옵니다.
  • 제한 사항: 숫자가 아닌 값은 0으로 처리됩니다.

역순 정렬 (-r)

정렬 결과를 역순으로 출력합니다.

  • 활용 상황: 가장 큰 값부터 보고 싶을 때.
  • 얻는 결과: 내림차순 결과가 출력됩니다.
  • 제한 사항: 다른 정렬 옵션과 함께 사용됩니다.

중복 제거 (-u)

중복된 줄을 제거합니다.

  • 활용 상황: 목록에서 중복 항목을 없앨 때.
  • 얻는 결과: 고유한 줄만 남습니다.
  • 제한 사항: 중복 판정은 정렬 후에 이루어집니다.

설치 및 실행

기본 탑재 확인

모든 Linux 배포판에 기본 포함되어 있습니다.

which sort
sort --version

별도 설치 (경량 환경)

일반적으로 이미 설치되어 있습니다.

sudo apt install coreutils   # Debian/Ubuntu

실제 사용 예제

기본 정렬

파일을 사전순으로 정렬합니다.

# 파일 정렬
touch names.txt
echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

# 결과:
# Alice
# Bob
# Charlie

# 역순 정렬
sort -r names.txt

숫자 정렬

숫자 데이터를 정렬합니다.

# 숫자 정렬
touch numbers.txt
echo -e "10\n2\n1\n20" > numbers.txt
sort -n numbers.txt

# 결과:
# 1
# 2
# 10
# 20

# 역순 (큰 수부터)
sort -rn numbers.txt

특정 열 및 중복 제거

특정 열을 기준으로 정렬하고 중복을 제거합니다.

# CSV 파일을 2번째 열 기준 정렬
cut -d',' -f2 data.csv | sort

# 중복 제거
cat names.txt | sort -u

# 중복 제거 후 줄 수 세기
sort names.txt | uniq | wc -l

# 로그를 시간 기준 정렬
cat access.log | sort -k4