Linux Shell 스 크 립 트 프로 그래 밍 - sort 명령

7499 단어 linuxshellsort
sort
sort 명령 은 File 매개 변수 가 지정 한 파일 의 줄 을 정렬 하고 결 과 를 표준 출력 에 기록 합 니 다.File 매개 변수 가 여러 파일 을 지정 하면 sort 명령 은 이 파일 들 을 연결 하고 파일 로 정렬 합 니 다.
sort 문법
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
     :
-f  :        ,   A   a       ;
-b  :           ;
-M  :         ,   JAN, DEC        ;
-n  :  『   』    (            );
-r  :    ;
-u  :   uniq ,      ,       ;
-t :   ,     [tab]     ; -k :      (field)         
  /etc/passwd         
[root@www ~]# cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

sort 는 기본 값 으로 첫 번 째 데이터 로 정렬 되 며, 기본 값 은 문자열 로 정렬 되 기 때문에 알파벳 a 부터 정렬 됩 니 다.
 
/etc/passwd 내용 은: 로 구 분 됩 니 다. 세 번 째 칸 으로 정렬 하고 싶 습 니 다. 어떻게 해 야 합 니까?
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

기본적으로 문자열 로 정렬 합 니 다. 숫자 로 정렬 하려 면:
cat /etc/passwd | sort -t ':' -k 3n
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh

기본 값 은 오름차 순 정렬 입 니 다. 거꾸로 정렬 하려 면 다음 과 같 습 니 다.
cat /etc/passwd | sort -t ':' -k 3nr
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
ntp:x:106:113::/home/ntp:/bin/false
messagebus:x:105:109::/var/run/dbus:/bin/false
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin

 
/etc/passwd 에 대해 서 는 여섯 번 째 도 메 인의 두 번 째 문자 부터 네 번 째 문자 까지 정방 향 으로 정렬 한 다음 첫 번 째 도 메 인 을 바탕 으로 역방향 으로 정렬 합 니 다.
cat /etc/passwd |  sort -t':' -k 6.2,6.4 -k 1r      
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh

 
/etc/passwd 에 셸 이 몇 개 있 는 지 보기:/etc/passwd 의 일곱 번 째 도 메 인 을 정렬 한 다음 다시 가 져 오기:
cat /etc/passwd |  sort -t':' -k 7 -u
root:x:0:0:root:/root:/bin/bash
syslog:x:101:102::/home/syslog:/bin/false
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin

좋은 웹페이지 즐겨찾기