cut

cut (选项)(参数)  cut是用来处理文本的工具,可以用来取出某些特定的字段。
在选取字段的时候“1,3”代表第1个和第3个,“1-3”代表第一个到第三个,“-3”代表从开始到第三个,“3-”代表从第三个到最后

以/etc/passwd中前10行为例

 1 [root@bogon admin]# head -10 /etc/passwd > a
 2 [root@bogon admin]# cat a
 3 root:x:0:0:root:/root:/bin/bash
 4 bin:x:1:1:bin:/bin:/sbin/nologin
 5 daemon:x:2:2:daemon:/sbin:/sbin/nologin
 6 adm:x:3:4:adm:/var/adm:/sbin/nologin
 7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
 8 sync:x:5:0:sync:/sbin:/bin/sync
 9 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
10 halt:x:7:0:halt:/sbin:/sbin/halt
11 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
12 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

-c数字:显示第几列的字符

 1 [root@bogon admin]# cut -c 1-5,7 a
 2 root::
 3 bin:x1
 4 daemo:
 5 adm:x3
 6 lp:x::
 7 sync::
 8 shutdw
 9 halt::
10 mail::
11 uucp::

-d:指定字段的分隔符,默认的字段分隔符为tab,需要与-f选项连用;

-f:显示指定部分的内容

 1 [root@bogon admin]# cut -d: -f1 a
 2 root
 3 bin
 4 daemon
 5 adm
 6 lp
 7 sync
 8 shutdown
 9 halt
10 mail
11 uucp
12 以冒号分隔,显示被截出来的第一段
13 [root@bogon admin]# cut -d: -f3 a
14 0
15 1
16 2
17 3
18 4
19 5
20 6
21 7
22 8
23 10
24 以冒号分隔,显示被截出来的第三段
25 [root@bogon admin]# cut -d: -f1,2,6- a
26 root:x:/root:/bin/bash
27 bin:x:/bin:/sbin/nologin
28 daemon:x:/sbin:/sbin/nologin
29 adm:x:/var/adm:/sbin/nologin
30 lp:x:/var/spool/lpd:/sbin/nologin
31 sync:x:/sbin:/bin/sync
32 shutdown:x:/sbin:/sbin/shutdown
33 halt:x:/sbin:/sbin/halt
34 mail:x:/var/spool/mail:/sbin/nologin
35 uucp:x:/var/spool/uucp:/sbin/nologin
36 以冒号分隔,显示被截出来的第一段第二段和第六段到之后所有,不过他这样把分隔字符也显示出来我认为是容易区分

 --complement:反向选择

 1 [root@bogon admin]# cut -d: -f1,2,6-  --complement a
 2 0:0:root
 3 1:1:bin
 4 2:2:daemon
 5 3:4:adm
 6 4:7:lp
 7 5:0:sync
 8 6:0:shutdown
 9 7:0:halt
10 8:12:mail
11 10:14:uucp
初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!
原文地址:https://www.cnblogs.com/forlive/p/8117132.html