소개
이 가이드에서는 구분 된 파일과 다른 명령의 출력에서 데이터를 정렬하는 방법을 설명합니다.
이 작업을 수행하는 데 사용하는 명령을 "정렬"이라고 배우면 놀라지 않을 것입니다. sort 명령의 주요 스위치는 모두이 기사에서 제공됩니다.
샘플 데이터
파일의 데이터는 어떤 식 으로든 구분되는 한 정렬 될 수 있습니다.
예를 들어 작년 스코틀랜드 프리미어 리그에서 최종 리그 테이블을 가져 와서 "spl"라는 파일에 데이터를 저장해 봅시다.
한 클럽과 각 클럽의 데이터를 쉼표로 구분하여 다음과 같이 데이터 파일을 만들 수 있습니다.
팀 | 득점 득점 | 목표 대비 | 전철기 |
---|---|---|---|
켈트 말 | 93 | 31 | 86 |
애버딘 | 62 | 48 | 71 |
하트 | 59 | 40 | 65 |
세인트 존스톤 | 58 | 55 | 56 |
마더 웰 | 47 | 63 | 50 |
로스 카운티 | 55 | 61 | 48 |
인버네스 | 54 | 48 | 52 |
던디 | 53 | 57 | 48 |
파틱 | 41 | 50 | 46 |
해밀턴 | 42 | 63 | 43 |
킬 마녹 | 41 | 64 | 36 |
던디 유나이티드 | 45 | 70 | 28 |
파일에서 데이터를 정렬하는 방법
그 테이블에서 셀틱이 리그 우승을하고 던디 유나이티드가 최후에 왔다는 것을 알 수 있습니다. 던디 유나이티드 팬이라면 자신의 기분을 좋게하고 싶을 수도 있습니다. 그리고 득점 한 골을 분류하면됩니다.
이렇게하려면 다음 명령을 실행하십시오.
sort -k2 -t, spl
이번에 주문은 다음과 같습니다 :
- 파틱
- 킬 마녹
- 해밀턴
- 던디 유나이티드
- 마더 웰
- 던디
- 인버네스
- 로스 카운티
- 세인트 존스톤
- 하트
- 애버딘
- 켈트 말
결과가이 순서대로되는 이유는 열 2가 목표 점수 열이고 점수가 가장 낮은 점수에서 가장 높은 점수로 바뀌기 때문입니다.
-k 스위치를 사용하면 정렬 기준 열을 선택할 수 있으며 -t 스위치를 사용하면 구분 기호를 선택할 수 있습니다.
던디 유나이티드 팬들은 다음과 같은 명령을 사용하여 4 열별로 정렬 할 수 있습니다.
sort -k4 -t, spl
현재 던디 유나이티드는 정상에 있고 셀틱은 맨 아래에 있습니다.
물론 이것은 셀틱과 던디 팬 모두를 매우 불행하게 만들 것입니다. 일을 올바르게하려면 다음 스위치를 사용하여 역순으로 정렬 할 수 있습니다.
sort -k4 -t, -r spl
다소 기괴한 스위치를 사용하면 무작위로 정렬 할 수 있으므로 실제로는 데이터 행을 뒤죽박죽으로 처리 할 수 있습니다.
다음 명령을 사용하여이 작업을 수행 할 수 있습니다.
sort -k4 -t, -R spl
-r 스위치와 -R 스위치가 섞여 있으면 실제 문제가 발생할 수 있습니다.
sort 명령은 날짜를 월 순서로 정렬 할 수도 있습니다. 다음 표를 보시려면 :
달 | 사용 된 데이터 |
---|---|
일월 | 4 세대 |
이월 | 3000K |
행진 | 6000K |
4 월 | 100M |
할 수있다 | 5000M |
유월 | 200K |
칠월 | 4000K |
팔월 | 2500K |
구월 | 3000K |
십월 | 1000K |
십일월 | 3G |
12 월 | 2 세대 |
위의 표는 모바일 장치에서 사용 된 데이터의 양과 월을 나타냅니다.
다음 명령을 사용하여 알파벳순으로 날짜를 정렬 할 수 있습니다.
sort -k1 -t, datausedlist
다음 명령을 사용하여 월별로 정렬 할 수도 있습니다.
sort -k1 -t, -M datausedlist
이제 분명히 위의 표는 이미 월 순서로 보여 주지만리스트가 무작위로 채워지면 간단한 정렬 방법이됩니다.
두 번째 열을 보면 모든 값이 사람이 읽을 수있는 형식으로되어있어 정렬하기가 쉽지는 않지만 sort 명령은 다음 명령을 사용하여 데이터 사용 열을 정렬 할 수 있음을 알 수 있습니다.
sort -k2 -t, -h datausedlist
다른 명령에서 전달 된 데이터를 정렬하는 방법
파일의 데이터 정렬이 유용하지만 sort 명령을 사용하여 다른 명령의 출력을 정렬 할 수도 있습니다.
예를 들어, ls 명령을보십시오 :
ls -lt
위의 명령은 각 파일을 열에 표시된 다음 필드와 함께 데이터 행으로 반환합니다.
- 허가
- 노드 수
- 사용자 이름
- 그룹 이름
- 크기
- 마지막 액세스 날짜
- 파일 이름
다음 명령을 실행하여 파일 크기별로 목록을 정렬 할 수 있습니다.
ls -lt | 정렬 -k5
역순으로 결과를 얻으려면 다음 명령을 사용하십시오 :
ls -lt | sort -k5 -r
sort 명령은 시스템에서 실행중인 프로세스를 나열하는 ps 명령과 함께 사용할 수도 있습니다.
예를 들어 시스템에서 다음 ps 명령을 실행하십시오.
ps -eF
위의 명령은 현재 시스템에서 실행중인 프로세스에 대한 많은 정보를 반환합니다.
이러한 열 중 하나가 크기이며 어떤 프로세스가 가장 큰지를 알고 싶을 수 있습니다.
이 데이터를 크기별로 정렬하려면 다음 명령을 사용하십시오.
ps -eF | 정렬 -k5
개요
sort 명령은별로 없지만 다른 명령의 출력을 의미있는 순서로 정렬 할 때 특히 유용합니다. 명령에 고유 한 정렬 스위치가없는 경우 특히 유용합니다.
자세한 내용은 sort 명령의 매뉴얼 페이지를 참조하십시오.