Linux每天学习一个命令之cut命令

cut 命令是一个选取命令,是处理一行数据的命令

cut [-c] file | cut [-df]  file| cut [b] file

cut命令是从文件中的每一行进行字节,字符和字段的处理,并将处理结果输出到标准输出。如果cut命令后面跟file,则会从标准输入中读取数据。

-b:以字节为单位进行截取
-c:以字符为单位进行截取
-d:自定义分隔符,默认为制表符
-f:与-d一起使用,表示截取那部分区域
-n:取消分割多字节字符,与-b一起使用

有上面的选项参数可以看出cut可以有3中方式,对一行数据进行截取
1、以字节为单位进行处理
2、以字符为单位进行处理
3、以自定义字符为单位进行处理

下面来看看一些例子:

例子一:以字符为单位进行截取数据

先来看看who命令的输出结果
   
   
[2013012974@teach shell]$ who
2013012974 pts/0 2016-05-05 22:07 (202.117.180.119)
截取第一个字符
   
   
[2013012974@teach shell]$ who | cut -c 1
2
截取第一到第十所有的字符
   
   
[2013012974@teach shell]$ who | cut -c 1-10
2013012974
截取第一个和第十个字符
   
   
[2013012974@teach shell]$ who | cut -c 1,10
24
从上面的例子中可以看出,'-c'选项是截取第几个字符,其中值得注意的是'-'表示的是一个区间,‘,’表示的是单个字符

例子二:以‘:’为分隔符,截取PATH环境变量第五个位置的字符
 
先来看看PATH变量存的内容是什么
  
  
[2013012974@teach shell]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/2013012974/bin

截取的结果:
   
   
[2013012974@teach shell]$ echo $PATH | cut -d ":" -f 5
/usr/local/sbin
从上面的例子中可以看出,以':'为分隔符,第五个位置是 / usr / local / sbin

下面来试试,以空格为分隔符,来截取ll命令输出的结果
   
   
[2013012974@teach shell]$ ll
总用量 16
drwxr-xr-x. 2 2013012974 student 4096 5 4 23:57 .
drwx------. 6 2013012974 student 4096 5 4 23:57 ..
-rwxr-xr-x. 1 2013012974 student 334 5 4 23:57 nologin.sh
-rwxr-xr-x. 1 2013012974 student 293 5 4 23:56 online.sh
    
    
[2013012974@teach shell]$ ll | cut -d " " -f 5
 
4096
4096
 

可以看出两个不同命令输出的结果是相同的,并不是我们想要的结果,这是因为cut 命令在处理空格是,会严格按照选项参数中的空格的数量进行截取,这方面是cut命令的用起来不便的地方。

例子三:以字节对一行数据进行截取

   
   
[2013012974@teach shell]$ who | cut -b 12-
pts/0 2016-05-05 22:07 (202.117.180.119)

总结:cut命令处理数据是很方便的,但是唯一不好的就是对于空格的处理。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值