• 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/	/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/	/s/g' |cut -d s -f 2
    可乐的厨房
    蛋包饭喵喵
    爱学习的牛妈
    四毛的娘亲
    8523728亮晶晶妈全职妈妈广东省70后幸福宝妈1318111438684854
    [root@iZ288fgkcpkZ cut]# tail -5 string.txt| sed 's/	/s/g' |cut -sd s -f 2
    可乐的厨房
    蛋包饭喵喵
    爱学习的牛妈
    四毛的娘亲
    [root@iZ288fgkcpkZ cut]# 

    2015-09-21 12:02:28

  • 相关阅读:
    本博客完美的支持移动端
    vue监听滚动事件,元素顶部吸附实现
    提高java反射速度的方法method.setAccessible(true)
    居家必备技能之检测电表是否虚高
    家用无线网络故障排查记录
    java 泛型类的继承关系和转型问题
    Office2019 相关激活秘钥
    IDEA记坑之移动项目文件之后,import 找不到文件以及出现Cannot access的问题
    Idea 可用激活方式
    MySQL 合并查询,以map或对象的形式返回
  • 原文地址:https://www.cnblogs.com/yingnan/p/4825733.html
Copyright © 2020-2023  润新知