Cut命令的使用

简介:

cut是一个在linux操作系统中剪字符的工具,可以将一段字段剪切后输出。

基本语法:

cut    [-选项]     filename

选项:

基础选项

-b:用于指定字节范围,并打印到标准输出

-c:提取指定位置的数据

-d:指定分隔符(默认制表符Tab)

-f:提取指定字段数据。如果不包含分隔符则打印整行(-s下不打印)

-n:与-b一起使用,不分割多字节字符

--complement:补集模式,提取指定字段或者字符位置以外的数据。

-s:不含分隔符的行不打印

--output-delimiter=字符串:可以用来指定‘字段的分隔符’

--help:帮助

--version:版本

关于-b、-c和-f的额外命令参数:

        N:从第1个开始数的第N个字节。

        N-:从N个开始,到本行末。

        N-M:从N到M的字段(要包括M本身)

        -M:从第1个开始到M的字段(要包括M本身)

解释一下上面的1和N还有M的意思:就是指第几个数,例如abcd,第1个字符就是a,3-就是从第3个字符c到结尾,即cd。-2就是ab,-3就是abc,2-3就是bc。

具体用法举例:比如我有个文件cps.txt,内容如下

hello

MyNameIsCPS

NiceToMeetYou

命令:cut -b -3 cps.txt

#输出:
hel
MyN
Nic

   

一些使用案例

cut的-f功能,要看分割符,默认是Tab。

例如下文中我要选第2组数据,那么他一定是被分割符(默认tab)分开的数据

cps        cps1        cps2  cps3

如果我-f 2的话,就是cps1。如果我-f 3 的话,就是cps2  cps3了,因为他们之间只有2个空格,对于-f来说,属于同一个数据段(只认分割符来判断数据段)

若你的文件中一个tab都没有,那么你的文件cut -t也只会出来全文,整个全文是一个字段。        

提取指定字符

cut -c 1,3,5 cps.txt

每行提取1,3,5的字符并输出。

指定分隔符

cut -d ',' -f 2 cps.txt

指定','为分隔符,打印cps.txt中的每行第二个字段

-s可以只打印包含分隔符的行

cut -s cps.txt 

这样就是默认以Tab为分隔符,如果cps.txt中有tab,就会把那行打印出来,多个就打印多行。

cut -d ',' -s cps.txt

修改默认分隔符是',',打印所有包含逗号的行

cut -d ',' -s -f 2 cps.txt

以逗号为分隔,打印所有包含逗号的行中逗号后面那部分(第二个分割的字段),abc,de就打印de。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值