cut命令详解

cut

文件内容查看,显示行中指定部分,删除文中指定字段,显示文中的内容,类似type命令
语法:
cut(选项)(参数)
选项

-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

--complement:补足被选择的字节、字符或字段;

--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

参数
文件:指定要进行内容过滤的文件
实例

[root@ localhost ~]# ll 
total 28
-rw-------. 1 root root 1277 2019-09-17 22:18 anaconda-ks.cfg
-rw-r--r--  1 root root  743 2020-01-09 09:13 ceshi.sh
-rw-r--r--  1 root root   22 2020-01-09 09:13 hosts.txt
-rw-r--r--  1 root root 1298 2020-01-08 20:46 keepalived.sh
-rw-r--r--  1 root root  360 2020-01-10 09:48 mysql.sh
-rw-r--r--  1 root root   69 2020-01-11 08:38 text.txt
-rw-r--r--  1 root root  439 2020-01-08 20:43 wk.sh

[root@ localhost ~]# ll | cut -b 3
t
w
w
w
w
w
w
w

例如有一个学生报表信息,包含No、Name、Mark、Percent:

[root@ localhost ~]# cat text.txt 
 Name Mark Percent
 tom  69   91
 jack 71   87
 alex 68   98

“字节”定位中,取多字节字节(- 和,)

-b支持形如3-5的写法,而且多个定位之间用逗号隔开

[root@ localhost ~]# cut -b 2-4,8 text.txt 
o N 
1 t 
2 j 
3 a 

但有一点要注意,cut命令如果使用了-b选项,那么执行此命令时,cut会先把-b后面所有的定位进行从索引小到大排序,然后再提取。所以颠倒顺序提取数据的方式不可行。

[root@ localhost ~]# cut -b 8,2-4 text.txt 
amer
om  
ack 
lex 

扩展 -num num-

[root@ localhost ~]# cut -b -4 text.txt 
Name
tom 
jack
alex
[root@ localhost ~]# cut -b 4- text.txt 
e Mark Percent
  69 91
k 71 87
x 68 98

不会重叠

[root@ localhost ~]# cut -b 4-,-4 text.txt 
Name Mark Percent
tom  69 91
jack 71 87
alex 68 98
[root@ localhost ~]# cut -b 4-8,3-7 text.txt 
me Mar
m  69 
ck 71 
ex 68 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值