리눅스
리눅스 - multi sort (다중 정렬)
고.니
2020. 10. 13. 23:35
반응형
[명령]
goni9071@tistory ~]$ cat test.txt
[결과]
1 c 2 c
3 b 3 b
2 a 1 b
4 a 1 a
[명령]
goni9071@tistory ~]$ cat test.txt | sort
[결과]
1 c 2 c
2 a 1 b
3 b 3 b
4 a 1 a
[설명]
-t 옵션이 없으면 기본적으로 공백을 기준으로 컬럼을 나눕니다.
-k 옵션이 없으면 1열부터 마지막열까지 오름차순으로 정렬합니다.
(우선순위가 1열 오름차순, 2열 오름차순, .... 마지막열 오름차순)
[명령]
goni9071@tistory ~]$ cat test.txt | sort -k2
[결과]
4 a 1 a
2 a 1 b
3 b 3 b
1 c 2 c
[설명]
-k 옵션에 숫자 하나만 적용하면 해당 숫자 열부터 마지막 열까지 오름차순으로 정렬합니다.
(2열부터 오름차순 정렬하고 3열 오름차순, 4열 오름차순으로 정려됩니다.)
[명령]
goni9071@tistory ~]$ cat test.txt | sort -k2,3
[결과]
2 a 1 b
4 a 1 a
3 b 3 b
1 c 2 c
[설명]
-k2,3 2열부터 3열까지만 오름차순으로 정렬 합니다.
(-k2 와 비교해 보면 4열의 순서가 다른 것을 알 수 있습니다.)
[명령]
goni9071@tistory ~]$ cat test.txt | sort -k3,3 -k4,4r
[결과]
2 a 1 b
4 a 1 a
1 c 2 c
3 b 3 b
[설명]
3열은 오름차순 4열은 내림차순으로 정렬합니다.
( r은 역순입니다. reverse)
반응형