cut


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]# 

相关内容

    暂无相关文章