频道栏目
首页 > 系统 > Linux > 正文

cut

2015-09-21 15:41:45         来源:指尖上的码农  
收藏   我要投稿

cut是一个针对行的数据选取命令

SYNOPSIS

cut [OPTION]... [FILE]...  

 

OPTION

 

-b  以字节为单位进行分割,如果是多字节的话就需要注意了

-c  以字符为单位进行分割

-d  自定义分割符,默认为制表符

-f  显示哪个区域,与-d一起使用

-n  表示一个范围,可与-b和-c一起使用

-s  表示不包括那些不含分隔符的行

愉快的就开始吧

 

1 [root@iZ288fgkcpkZ cut]# tail -5 string.txt 

2 8063952    冰川里的哈密瓜    职员    北京市    90后已婚小鲜肉    406    1    1    1438684854

3 7004053    可乐的厨房    互联网    北京市    90后幸福小咖    717    1    1    1438684854

4 8658245    蛋包饭喵喵    编辑    北京市    90后北京菇凉    465    1    1    1438684854

5 8427541    爱学习的牛妈    自由职业    安徽省    崇尚自由的幸福妈咪    466    1    1    1438684855

6 8724635    四毛的娘亲    全职妈妈    河南省    80后文艺娘亲    467    1    1    1438684856

7 [root@iZ288fgkcpkZ cut]# 

 

 

 

 取出id

 

 

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -b -7

8063952

7004053

8658245

8427541

8724635

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -b 1-7

8063952

7004053

8658245

8427541

8724635

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -b 7,6,5,1-4

8063952

7004053

8658245

8427541

8724635

[root@iZ288fgkcpkZ cut]# 

 

 需要说下-n

 

n  只取出第n个字节/字符/字段

 

n-  取出第n个字节/字符/字段(包括n)到行尾

 

-n  取出第一个字节/字符/字段到第n个字节/字符/字段(包括n)

 

n-m  取出第n个字节/字符/字段(包括n)到第m个字节/字符/字段(包括m)

 

n,m  取出第n个字节/字符/字段,取出第m个字节/字符/字段

 

为什么上面最后一个列子并不是按照我写的顺序取出来的?  因为会先将其排序

 

 

 

取出昵称第一个字符

 

 

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -b 9,10,11

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -b 9,11,10

[root@iZ288fgkcpkZ cut]# tail -5 string.txt | cut -c 9

[root@iZ288fgkcpkZ cut]# 

 

 

 

 取出整个昵称呢?

 

 

[root@iZ288fgkcpkZ cut]# tail -5 string.txt |cut -f 2

冰川里的哈密瓜

可乐的厨房

蛋包饭喵喵

爱学习的牛妈

四毛的娘亲

[root@iZ288fgkcpkZ cut]# tail -5 string.txt| sed 's/\t/\s/g' |cut -d \s -f 2

冰川里的哈密瓜

可乐的厨房

蛋包饭喵喵

爱学习的牛妈

四毛的娘亲

[root@iZ288fgkcpkZ cut]# 

 

 

 

 如果指定了分割符,但是文本中有不包含分割符的行呢?

 

修改文本

 

 

[root@iZ288fgkcpkZ cut]# tail -5 string.txt 

7004053    可乐的厨房    互联网    北京市    90后幸福小咖    717    1    1    1438684854

8658245    蛋包饭喵喵    编辑    北京市    90后北京菇凉    465    1    1    1438684854

8427541    爱学习的牛妈    自由职业    安徽省    崇尚自由的幸福妈咪    466    1    1    1438684855

8724635    四毛的娘亲    全职妈妈    河南省    80后文艺娘亲    467    1    1    1438684856

8523728亮晶晶妈全职妈妈广东省70后幸福宝妈1318111438684854

[root@iZ288fgkcpkZ cut]# 

 

 还是取出昵称列,用-s可以将不包含分割符的行排除出去

 

 

[root@iZ288fgkcpkZ cut]# tail -5 string.txt| cut -f 2

可乐的厨房

蛋包饭喵喵

爱学习的牛妈

四毛的娘亲

8523728亮晶晶妈全职妈妈广东省70后幸福宝妈1318111438684854

[root@iZ288fgkcpkZ cut]# tail -5 string.txt| sed 's/\t/\s/g' |cut -d \s -f 2

可乐的厨房

蛋包饭喵喵

爱学习的牛妈

四毛的娘亲

8523728亮晶晶妈全职妈妈广东省70后幸福宝妈1318111438684854

[root@iZ288fgkcpkZ cut]# tail -5 string.txt| sed 's/\t/\s/g' |cut -sd \s -f 2

可乐的厨房

蛋包饭喵喵

爱学习的牛妈

四毛的娘亲

[root@iZ288fgkcpkZ cut]# 

相关TAG标签
上一篇:在 Ubuntu 上配置高性能的 HHVM 环境
下一篇:CentOS7.1安装ntfs-3g
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站