Linux命令之cut

cut [选项] [文件]

  cut命令可以将每个文件中的选定部分打印到标准输出。当没有文件参数或文件不存在时,从标准输入读取数据。

(1).选项

-b,--bytes=[N-|N-M|-M] 只显示指定部分的字节
-c,--characters=[N-|N-M|-M] 只显示指定部分的字符
-f,--fields=[N-|N-M|-M] 只显示指定部分的字段。如果没有使用-s选项还会显示不包含分界符的行。一般与-d选项联合使用。
  说明:N-表示从第N个字节、字符、字段到结尾;N-M表示从第N个字节、字符、字段到第M个字节、字符、字段;-M表示从第一个字节、字符、字段到第M个字节、字符、字段。
     如果想要挑选几段,中间用逗号隔开
     字节无法获取到中文,而字符可以。
-d,--delimiter=[分界符] 使用指定的分界符代替制表符作为区域分界
-n 和-b选项联合使用,不拆分多字节字符。即-b与-n一起使用后,可以获取到中文。
--complement 补全选中的字节、字符或域
-s,--only-delimited 不打印没有包含分界符的行
--output-delimiter=[字符串] 使用指定的字符串作为输出分界符,默认采用输入分界符

(2).实例

1)-f选项

[root@youxi1 ~]# head -5 /etc/passwd >passwd
[root@youxi1 ~]# cat 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
//读取文件内容,以冒号作为分隔符分割字段,获取第1和第3个字段。输出时以|为分隔符 [root@youxi1 ~]# cut -f1,3 -d":" passwd --output-delimiter="|" root|0 bin|1 daemon|2 adm|3 lp|4

2)-b选项与-c选项的比较

[root@youxi1 ~]# vim a.txt
大河向东流啊
天上的星星参北斗啊
[root@youxi1 ~]# cut -b1 a.txt


[root@youxi1 ~]# cut -b1 -n a.txt
大
天
[root@youxi1 ~]# cut -c1 a.txt   
大
天

  

posted @ 2019-11-08 14:36  苦逼运维  阅读(486)  评论(0编辑  收藏  举报