1. 了解cut命令作用
cut用于摘取输出内容,支持以字节、字符、分割符为单位。
先建立一个文本文件,内容如下:
[root@zcwyou ~]# cat cut.txt
1 abc 1a2b zcwyou
2 efgh 18ak 2b
33 igk 91zk4 814
2. 以字节为单位
选项-b
例子1:只显示每行第一个字节
[root@zcwyou ~]# cut -b 1 cut.txt
输出结果:
1
2
3
例子2:选字例
从左到右,选第2,3,4个字节
[root@zcwyou ~]# cut cut.txt -b 2,3,4
ab
ef
3 i
从左到右,选第2-5个字节
[root@zcwyou ~]# cut cut.txt -b 2-5
abc
efg
3 ig
从左到右,选第4个字节及之前的
[root@zcwyou ~]# cut cut.txt -b -4
1 ab
2 ef
33 i
从左到右,选第5个字节及之后的
[root@zcwyou ~]# cut cut.txt -b 5-
c 1a2b zcwyou
gh 18ak 2b
gk 91zk4 814
3. 以分隔符显示
选项-d 分隔符,默认为制表符。 跟-f配合,-f 指定区域。适用于对不齐的列。比如/etc/passwd这样的文本。
例子:以空格为分隔符(\后跟一个空格,\表示转义),显示第1段
[root@zcwyou ~]# cut -d \ -f 1 cut.txt
1
2
33
注意的是,\与-f之间有两个空格,第一个空格表示分隔符,第二个空格表示命令选项之间的隔离。
只显示/etc/passwd的第1列,查看系统中已有的用户,使用:作为分隔符
[root@zcwyou ~]# cut -d : -f 1 /etc/passwd
4. -n选项配合-b一起使用
-n :不分割多字节字符。仅和 -b 标志一起使用。不够字节的字符,不显示。比如3个字节一个汉字,摘取3个字节一个汉字,摘取5字节也是一个汉字,摘取6字节才是两个汉字。
先建立一个中文文本,用vi建立,复制进去保存。
[root@zcwyou ~]# cat cut2.txt
我是小猪佩奇
我是佩奇爸爸
我是佩奇妈妈
分别试试显示第1字节,第1-2字节,第1-3字节。你会发现,在Linux默认编码中,汉字占3个字节。
[root@zcwyou ~]# cut cut2.txt -b -1
没有看到有内容输出
[root@zcwyou ~]# cut cut2.txt -b -2
没有看到有内容输出
[root@zcwyou ~]# cut cut2.txt -b -3
我
我
我
那么2个汉字应该是6字节,试试显示前面2个汉字
[root@zcwyou ~]# cut cut2.txt -b -6
我是
我是
我是
试试使用-n选项配合-b一起使用,它表示字符
[root@zcwyou ~]# cut cut2.txt -nb 1
我
我
我
[root@zcwyou ~]# cut cut2.txt -nb 2
是
是
是
[root@zcwyou ~]# cut cut2.txt -nb 3
小
佩
佩
显示前面2个汉字
[root@zcwyou ~]# cut cut2.txt -nb -2
我是
我是
我是
5. 以字符为单位
选项-c
[root@zcwyou ~]# cut cut2.txt -c -4
我是小猪
我是佩奇
我是佩奇
评论前必须登录!
注册