Linux

[리눅스] sort 명령어 완벽 가이드 사용법(파일 정렬)

인생아 2024. 10. 14. 16:33
반응형

sort 명령어는 파일이나 입력된 데이터의 내용을 정렬하는 데 사용되는 유용한 도구입니다. 텍스트 파일이나 명령어의 출력 결과를 알파벳, 숫자 또는 사용자 정의 기준에 따라 정렬할 수 있습니다. 기본적으로 sort알파벳 순서(ASCII 순서)로 데이터를 정렬하지만, 숫자 순서로 정렬하거나 역순 정렬, 필드별 정렬 등 다양한 옵션을 제공합니다.

sort 명령어의 기본 사용법

sort [옵션] [파일명]

파일명을 지정하지 않으면 표준 입력을 받아 정렬할 수 있습니다. 다양한 옵션을 사용하여 원하는 방식으로 데이터를 정렬할 수 있습니다.

sort 명령어 주요 옵션

  1. -n: 숫자 기준으로 정렬합니다.
  2. -r: 역순으로 정렬합니다.
  3. -k: 필드를 지정하여 해당 필드를 기준으로 정렬합니다.
  4. -t: 구분자를 지정하여 데이터를 구분하고 정렬합니다.
  5. -u: 중복된 라인을 제거하고 정렬합니다.
  6. -o: 정렬된 결과를 다른 파일로 저장합니다.

sort 명령어 사용 예시

기본 알파벳 정렬

기본적으로 sort 명령어는 알파벳 순서로 정렬합니다. 예를 들어, sample.txt 파일의 내용을 정렬하는 명령어는 다음과 같습니다.

user@linux:~/documents$ sort sample.txt

sample.txt 파일의 내용이 다음과 같을 때:

banana
apple
cherry
date

명령어 실행 결과:

apple
banana
cherry
date

숫자 정렬

-n 옵션을 사용하면 숫자 기준으로 정렬할 수 있습니다. 예를 들어 numbers.txt 파일을 숫자 순으로 정렬하는 예제입니다.

user@linux:~/documents$ sort -n numbers.txt

numbers.txt 파일의 내용이 다음과 같을 때:

200
50
3
1500
45

명령어 실행 결과:

3
45
50
200
1500

역순 정렬

-r 옵션을 사용하면 데이터를 역순으로 정렬할 수 있습니다.

user@linux:~/documents$ sort -r sample.txt

명령어 실행 결과:

date
cherry
banana
apple

필드별 정렬

-k 옵션을 사용하여 특정 필드를 기준으로 정렬할 수 있습니다. 예를 들어, 공백으로 구분된 파일에서 두 번째 필드를 기준으로 정렬하는 예제입니다.

user@linux:~/documents$ sort -k 2 sample2.txt

sample2.txt 파일의 내용이 다음과 같을 때:

apple 3
banana 2
cherry 1
date 4

명령어 실행 결과:

cherry 1
banana 2
apple 3
date 4

구분자를 사용한 정렬

-t 옵션을 사용하면 특정 구분자를 기준으로 필드를 구분하고 정렬할 수 있습니다. 아래는 쉼표(,)를 구분자로 사용하여 세 번째 필드를 기준으로 정렬하는 예제입니다.

user@linux:~/documents$ sort -t ',' -k 3 sample3.txt

sample3.txt 파일의 내용이 다음과 같을 때:

apple,red,1
banana,yellow,3
cherry,red,2

명령어 실행 결과:

apple,red,1
cherry,red,2
banana,yellow,3

중복된 라인을 제거하고 정렬

-u 옵션을 사용하면 중복된 라인을 제거하면서 정렬할 수 있습니다.

user@linux:~/documents$ sort -u sample.txt

sample.txt 파일의 내용이 다음과 같을 때:

apple
banana
apple
cherry
banana

명령어 실행 결과:

apple
banana
cherry

sort 명령어의 활용도

sort 명령어는 간단한 데이터 정리에서부터 복잡한 로그 분석까지 다양한 상황에서 유용하게 사용됩니다. 특히, 파일의 내용을 정렬하거나 중복된 데이터를 제거할 때 매우 효과적입니다. 필드별 정렬 기능을 통해 데이터의 특정 부분만 추출하여 정렬할 수도 있어 데이터 분석 작업에서도 널리 사용됩니다.

참고사이트

반응형