Linux学习日记 —— 11.2.1 Shell编程-字符截取命令-cut命令

[root@localhost ~]# cut [选项] 文件名
作用:提取(显示或查看)文件中的哪几列。
局限性:它不能提取多个空格分割的列,它可以识别的分隔符默认是制表符。
选项:
-f 列号:提取第几竖列。这个选项是必须选项。
-d 分隔符:按照手工指定的分隔符分割列。分隔符可以用双引号括起来。


示例:
[root@localhost ~]# vi student.txt
ID   Name   gender   Mark
1   Liming   M       86
2   Sc       M       90
3   Gao      M       83


[root@localhost ~]# cut -f 2  student.txt
提取该文件中的第2列。(采用默认的制表符分割列)

[root@localhost ~]# cut -d : -f 2,3 student.txt    
提取该文件中的第2列和第3列。(提取多列之后,会自动在列之间加上分隔符,然后再显示)

[root@localhost ~]# cut -d : -f 1,2,3 student.txt 
提取该文件中的第1列到第3列。

[root@localhost ~]# cut -d ":" -f 1,3 /etc/passwd
提取该文件中的第1列到第3列。


cut命令是提取文件中的列,而grep命令是提取文件中的行,因此,这两个命令经常需要配合使用。


示例:
[root@localhost ~]# cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1   
提取/etc/passwd文件中所有普通用户的用户名。

[root@localhost ~]# grep /bin/bash /etc/passwd | grep -v root | cut -d : -f 1
作用同上。


对于多个空格分割的列,无法用cut命令得到我们预期的结果。比如下面这条命令的显示结果就很尴尬。

[root@localhost ~]# df -h | cut -d " " -f 1,3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值