一天一个linux命令--cut

描述

将每行进行切分成多节,并返回一个或多个节(section).

cut命令浏览每行输入, 将每行分成节, 然后显示那些在命令行上指定的节. 如果命令行上没有列出文件, 则使用STDIN

语法

cut {section_specifiers} [options] [file…]

参数说明

节描述符说明
-bLIST 或 -bytes LIST显示由参数LIST指定位置上的字节. 例如, -b1-3 只显示每一行的前三个字节.
-cLIST 或 -characters显示由参数LIST指定位置上的字符. 例如, -c1-3 只显示每一行的前三个字符.
-fLIST 或 -fields LIST显示有LIST指定的字段. 一个字段由行起始\ 行结束和由-d/–delimiter指定的分界符(DELIMITER)界定. 默认的分解符是制表符. 从1开始

LIST参数
*使用逗号表示单个不连续的小节,如选出4和7小节,用-f4,7
*使用-表示连续的小节,如选择2\3\4小节,用-b2-4
*使用n-表示选择从n小节开始到行结束的所有小节

cut命令选项说明
-dDELIMITER或–delimiter DELIMITER指定被描述符-f/–fields使用的分界符, 默认的分界符是制表符
-s 或 --only-delimited用于和描述符-f/–fields的连接, 从而删除不包含字段分界符字符的行

实例

cut.bat文件(中间是多个空格)

Robert  Male   Husband
barbara Female Wife
Peter   Male   Son
Richard Male   Son

按空格切,取第一个

lixn@lixn-K55VD:~$ cut -d" " -f 1 cut.dat 
Robert
barbara
Peter
Richard

取[9-14]位, 从1开始

lixn@lixn-K55VD:~$ cut -b9-14 cut.dat 
Male  
Female
Male  
Male  

去重

lixn@lixn-K55VD:~$ cut -b9-14 cut.dat | sort | uniq
Female
Male  

每个空格作为一个

lixn@lixn-K55VD:~$ cut --delimiter " " -f 2 cut.dat 

Female

Male

使用tr去优化多个空格视为一个的问题(失败)

lixn@lixn-K55VD:~$ cat cut.dat | tr "" --squeeze-repeats | cut --delimiter " " --fields 2

Female

Male

扫接口日志,获得视频播放排行,前100

zcat /data1/log/cv/access_wx_api.log.20181116_* | grep '/video/play/' | cut -f3 | cut -f1 -d"," | cut -f7 -d"/" | sort | uniq -c | sort -n -r | head -n 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值