상세 컨텐츠

본문 제목

[리눅스 명령어 정리] sort

리눅스/linux 명령어 정리

by 해공학(해킹을 공부하는 학생) 2023. 5. 7. 21:19

본문

문자열의 순서를 정렬해주는 명령어 입니다.

사용법은 다음과 같습니다.

sort [옵션] [파일이름]

주로 사용할때는 uniq명령어와 같이 쓰입니다.

옵션은 다음과 같습니다.

[-r] --reverse(반대의, 뒤집다)

sort는 아무 옵션도 없을때 abcd 기준으로 정렬을하는데, 이정렬을 역순으로 하게 해주는 명령어 이다.

┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test | sort -r
melon
melon
lemon
banana
banana
banana
Apple
apple
apple

[-k] --key

k뒤에다가 필드(위치)를 정해주고, 그거의 기준으로 정렬된다.

//원본 파일
┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test          
1 apple
3 banana
7 lemon
9 Apple
1 apple
3 banana
2 banana
9 melon
6 melon
  
//필드(위치)를 1번재 문자열 위치로 했을때
┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test | sort -k1
1 apple
1 apple
2 banana
3 banana
3 banana
6 melon
7 lemon
9 Apple
9 melon

//2번째 문자열 위치로 했을때
┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test | sort -k2
1 apple
1 apple
9 Apple
2 banana
3 banana
3 banana
7 lemon
6 melon
9 melon

[-u] --unique(독특한,특이한)

u옵션은 sort명령어에 uniq명령어를 더해준다고 생각하면됩니다.

정렬한후, 바로 연속적으로 중복된 내용을 삭제해줍니다.

┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test | sort -u 
1 apple
2 banana
3 banana
6 melon
7 lemon
9 Apple
9 melon

[-f] --ignore-case(케이스 무시하기)

대소문자 구별없이 정렬한다.(ex. a === A, b === B)

┌──(root㉿kali)-[~/blog/pipe/uniq_sort]
└─# cat fruits_test | sort -f       
apple
apple
Apple
banana
banana
banana
lemon
melon
melon

 

정리

sort명령어는 한 문장의 행을 정렬할때 쓰이는 명령어 입니다.

옵션들로는 -r,-f,-u,-k 가 있고 이것들은 순서대로 역순으로 정렬,대소문자 구별 안함,

sort판 uniq,필드로 정렬 이 될수있습니다.

관련글 더보기