cut (选项)(参数) cut是用来处理文本的工具,可以用来取出某些特定的字段。
在选取字段的时候“1,3”代表第1个和第3个,“1-3”代表第一个到第三个,“-3”代表从开始到第三个,“3-”代表从第三个到最后
以/etc/passwd中前10行为例
1 [[email protected] admin]# head -10 /etc/passwd > a 2 [[email protected] 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 [[email protected] 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 [[email protected] 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 [[email protected] 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 [[email protected] 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 [[email protected] 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