반응형
sort 명령어
sort 명령어는 파일의 내용을 행 단위로 정렬하는 데 사용됩니다. 기본적으로 알파벳 순서(사전 순서)로 정렬하며, 숫자, 날짜, 대소문자 등을 기준으로 정렬할 수 있는 다양한 옵션을 제공합니다.
기본 구문
sort [OPTION]... [FILE]...
- 파일 : 정렬할 파일입니다. 생략하면 표준 입력(STDIN)에서 데이터를 읽습니다.
sort 주요 옵션
- -r : 결과를 내림차순으로 정렬합니다.
- -n : 숫자 값으로 정렬합니다.
- -k N : 특정 열(필드) 기준으로 정렬합니다. (-k 2는 두 번째 열 기준)
- -t <문자> : 필드 구분 문자를 지정합니다. 기본은 공백입니다.
- -b : 각 행의 선행 공백을 무시합니다.
- -u : 중복된 줄을 제거하여 출력합니다.
- -f : 대소문자를 무시하고 정렬합니다.
- -o <파일> : 정렬 결과를 지정한 파일에 저장합니다.
- -M : 월 이름(Jan, Feb, ...)으로 정렬합니다.
- --parallel=N : N개의 정렬 작업을 병렬로 실행합니다.
사용 예시
예제 데이터 생성
cat <<EOF | sudo tee -a file.txt
orange
apple
Banana
grape
apple
EOF
1. 기본 정렬
파일의 내용을 알파벳 순서로 정렬합니다.
sort file.txt
Banana
apple
apple
grape
orange
2. 내림차순 정렬
내용을 역순으로 정렬합니다.
sort -f file.txt
apple
apple
Banana
grape
orange
3. 숫자 기준 정렬
숫자 값 기준으로 정렬합니다.
sort -n numbers.txt
(예: 1, 10, 2 → 1, 2, 10)
4. 특정 열 기준으로 정렬
두 번째 열(필드)을 기준으로 정렬합니다.
- 필드는 공백 또는 탭으로 구분됩니다. -t 옵션으로 구분 문자를 지정할 수 있습니다.
sort -k 2 file.txt
Banana
apple
apple
grape
orange
5. 필드 구분 문자 사용
콜론(:)을 필드 구분 문자로 사용하고 두 번째 필드 기준으로 정렬합니다.
sort -t ":" -k 2 file.txt
Banana
apple
apple
grape
orange
6. 중복 제거
정렬과 함께 중복된 줄을 제거합니다.
sort -u file.txt
Banana
apple
grape
orange
7. 대소문자 무시
대소문자를 구분하지 않고 정렬합니다.
sort -f file.txt
apple
apple
Banana
grape
orange
8. 월 이름 정렬
월 이름(Jan, Feb, ...) 순서로 정렬합니다.
sort -M months.txt
9. 출력을 파일로 저장
정렬된 결과를 sorted_file.txt에 저장합니다.
sort file.txt -o sorted_file.txt
$ cat sorted_file.txt
Banana
apple
apple
grape
orange
10. 선행 공백 무시
각 줄의 선행 공백을 무시하고 정렬합니다.
sort -b file.txt
Banana
apple
apple
grape
orange
정렬과 uniq 조합
sort와 uniq를 함께 사용하여 데이터를 정렬하고 중복을 제거할 수 있습니다.
sort file.txt | uniq
Banana
apple
grape
orange
sort는 데이터 처리와 정렬에서 매우 강력한 도구로 다양한 옵션을 활용하여 특정 요구 사항에 맞는 정렬 작업을 수행할 수 있습니다.
참고URL
- Ubuntu Manpage : noble sort
- 우분투 맨페이지: 고귀한 정렬
728x90
반응형
'리눅스' 카테고리의 다른 글
우분투에서 python 명령어를 사용할 수 있도록 설정하는 방법 (0) | 2025.01.17 |
---|---|
Docker 이미지를 효율적으로 빌드하기 위한 방법 (0) | 2025.01.17 |
uniq 명령어 (0) | 2025.01.16 |
SSL 인증서 확인 (0) | 2025.01.16 |
ps kill 명령어 (0) | 2025.01.16 |