셸 스 크 립 트 명령 -- cut (문자 캡 처), sort (문자 정렬)
4422 단어 링크 ux 에서 셸 기반
cut 명령 은 문자 로 1. 문법 형식 을 많이 캡 처 합 니 다.
3. 주요 매개 변수
-b
바이트 단위 로 분할 하 다.이 바이트 위 치 는 - n 플래그 가 지정 되 어 있 지 않 은 한 다 중 바이트 문자 경 계 를 무시 합 니 다.
-c
문자 단위 로 분할 하 다
-d
사용자 정의 구분자, 기본 값 은 탭 문자
-f
- d 와 함께 사용 하여 어느 영역 을 표시 할 지 지정 합 니 다.
-n
다 중 바이트 문자 분할 취소.- b 로고 와 함께 만 사용 합 니 다.문자 의 마지막 바이트 가 - b 로고 의 List 매개 변수 가 표시 하 는 범위 안에 떨 어 지면 이 문 자 는 기 록 됩 니 다.그렇지 않 으 면 이 문 자 는 제 외 됩 니 다.
4. 지정 한 필드 의 문자 나 바이트 범위 cut 명령 은 문자열 을 열 로 표시 할 수 있 습 니 다. 문자 필드 의 표기 법:
N-: N 、 、 ;
N-M: N 、 、 M ( M ) 、 、 ;
-M: 1 、 、 M ( M ) 、 、 。
5. 예시
[root@shell mnt]# cp /etc/passwd .
[root@shell mnt]# head -5 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@shell mnt]# head -5 passwd | cut -d : -f 1
root
bin
daemon
adm
lp
[root@shell mnt]# head -5 passwd | cut -d : -f 1,3-6
root:0:0:root:/root
bin:1:1:bin:/bin
daemon:2:2:daemon:/sbin
adm:3:4:adm:/var/adm
lp:4:7:lp:/var/spool/lpd
[root@shell mnt]# head -5 passwd | cut -c 1-3
roo
bin
dae
adm
lp:
[root@shell mnt]# head -5 passwd | cut -c -2
ro
bi
da
ad
lp
[root@shell mnt]# head -5 passwd | cut -c 5-
:x:0:0:root:/root:/bin/bash
x:1:1:bin:/bin:/sbin/nologin
on:x:2:2:daemon:/sbin:/sbin/nologin
x:3:4:adm:/var/adm:/sbin/nologin
:4:7:lp:/var/spool/lpd:/sbin/nologin
문장.https://www.cnblogs.com/fulucky/p/8124858.html
둘째, sort
다 중 문자 정렬
-b 。
-c 。
-d , 、 , 。
-f , 。
-i , 040 176 ASCII , 。
-m 。
-M 3 。
-n 。
-o 。
-r 。
-t 。
+- , 。
--help 。
--version
[root@shell mnt]# vim sort.txt
[root@shell mnt]# cat sort.txt
aaa
bbb
fff
kearshy
hh
[root@shell mnt]# sort sort.txt
aaa
bbb
fff
hh
kearshy
2. sort 의 - u 옵션 은 출력 줄 에서 중복 줄 을 제거 하 는 역할 이 간단 합 니 다.
[root@shell mnt]# vim sort.txt
[root@shell mnt]# cat sort.txt
aaa
bbb
fff
kearshy
hh
hh
kearshy
[root@shell mnt]# sort -u sort.txt
aaa
bbb
fff
hh
kearshy
3. sort 의 - n 옵션 (순수 숫자 정렬) 은 sort 정렬 프로그램 이 이 숫자 들 을 문자 에 따라 정렬 하기 때문에 정렬 프로그램 은 1 과 2 를 먼저 비교 하고 1 이 작 기 때문에 10 대 2 가 작은 상황 이 발생 합 니 다.이것 도 sort 의 일 관 된 태도 다.
[root@shell mnt]# cat number
81
56
45
8
7
5
4
[root@shell mnt]# sort number
4
45
5
56
7
8
81
[root@shell mnt]# sort -n number
4
5
7
8
45
56
81
4. sort 의 - o 옵션 은 정렬 결 과 를 원본 파일 에 출력 하려 면 방향 을 바 꾸 면 안 됩 니 다.
[root@shell mnt]# vim number
[root@shell mnt]# cat number
81
56
4
5
8
7
45
[root@shell mnt]# sort -nr number -o number
[root@shell mnt]# cat number
81
56
45
8
7
5
4
5. sort 의 - t 옵션 과 - k 옵션
[root@shell mnt]# cat date
1997-11-13
1998-02-18
2004-04-02
1998-04-29
이 문 서 는 세 열 로 열 과 열 사 이 를 '-' 로 구분 하고 첫 번 째 열 은 년 을 표시 하 며 두 번 째 열 은 달 을 표시 하고 세 번 째 열 은 일 을 표시 합 니 다.그러면 저 는 달 로 정렬 하고 싶 습 니 다. 즉, 두 번 째 열 로 정렬 하고 싶 습 니 다. sort 를 어떻게 이용 하여 실현 합 니까?다행히 sort 는 - t 옵션 을 제 공 했 습 니 다. 뒤에 간격 을 설정 할 수 있 습 니 다.간격 부 호 를 지정 하면 - k 로 열 수 를 지정 할 수 있 습 니 다.
[root@shell mnt]# sort -n -k 2 -t '-' date
1998-02-18
1998-04-29
2004-04-02
1997-11-13
[root@shell mnt]# sort -n -k 1 -t '-' date
1997-11-13
1998-02-18
1998-04-29
2004-04-02