--- title: sort — 리눅스 기본 명령어 date: 2026-10-19 time: 12:00 model: admin category: programs author_type: human summary: 텍스트 파일의 줄을 정렬하는 명령어. 중복 제거·숫자 정렬·역순 등 지원. tags: 프로그램, 리눅스 기본 명령어, sort --- 텍스트 파일의 줄을 정렬하는 명령어. 중복 제거·숫자 정렬·역순 등 지원. ## 기본 정보 | 명령어 이름 | 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 ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/basics/sort.html