• linux cut 命令(转)


        一个非常有用的命令,主要用来提取各种各样的数据。
    cut -cchars file
    如:
        -c5     提取第5个字符
            -c5-    提取第5个字符以后的字符
            -c1,5,12  提取多个字符,中间用“,”符号隔开
            -c5-14  提取第5个字符到第14个字符间的字符
    http://gan.cublog.cn
    [service@dsg tmp]$ cat f.txt
    service  pts/0        Oct  9 20:27 (211.95.114.235)
    service  pts/1        Oct  9 21:06 (218.80.203.242)
    service  pts/2        Oct  9 14:35 (218.80.203.242)
    service  pts/3        Oct  9 21:07 (218.80.213.242)
    service  pts/4        Oct  9 21:07 (218.80.213.242)
    service  pts/5        Oct  9 21:45 (58.31.205.19)
    [service@dsg tmp]$ cut -c5 f.txt
    i
    i
    i
    i
    i
    i
    [service@dsg tmp]$ cut -c5- f.txt   
    ice  pts/0        Oct  9 20:27 (211.95.114.235)
    ice  pts/1        Oct  9 21:06 (218.80.203.242)
    ice  pts/2        Oct  9 14:35 (218.80.203.242)
    ice  pts/3        Oct  9 21:07 (218.80.213.242)
    ice  pts/4        Oct  9 21:07 (218.80.213.242)
    ice  pts/5        Oct  9 21:45 (58.31.205.19)
    [service@dsg tmp]$ cut -c1,5,14 f.txt
    si0
    si1
    si2
    si3
    si4
    si5
    ------------------------------
    cut -d -f
    -d, --delimiter=DELIM
                  use DELIM instead of TAB for field delimiter
    -f, --fields=LIST
                  output only these fields;  also print any line that contains  no
                  delimiter character, unless the -s option is specified
    -d -f 主要用来从某中分隔符中提取数据
    如:
    [service@dsg tmp]$ cat f.txt
    service1:pts/0:Oct  9 20:27: (211.95.114.235)
    service2:pts/1:Oct  9 21:06: (218.80.203.242)
    service3:pts/2:Oct  9 14:35: (218.80.203.242)
    service4:pts/3:Oct  9 21:07: (218.80.213.242)
    service5:pts/4:Oct  9 21:07: (218.80.213.242)
    service6:pts/5:Oct  9 21:45: (58.31.205.19)
    [service@dsg tmp]$ cut -d: -f1 f.txt
    service1
    service2
    service3
    service4
    service5
    service6
    [service@dsg tmp]$ cut -d: -f2 f.txt
    pts/0
    pts/1
    pts/2
    pts/3
    pts/4
    pts/5
    [service@dsg tmp]$ cut -d: -f3 f.txt
    Oct  9 20
    Oct  9 21
    Oct  9 14
    Oct  9 21
    Oct  9 21
    Oct  9 21
    [service@dsg tmp]$ cut -d: -f5 f.txt
    (211.95.114.235)
    (218.80.203.242)
    (218.80.203.242)
    (218.80.213.242)
    (218.80.213.242)
    (58.31.205.19)
    [service@dsg tmp]$ cut -d: -f9 f.txt
    [service@dsg tmp]$ cut -d: -f1,4 f.txt  #提取1和4列数据
    service1:27
    service2:06
    service3:35
    service4:07
    service5:07
    service6:45
    Given that the fields are separated by tabs, you should use the -f option to cut instead:
    如果文件使用tab键隔开就直接使用-f就可以了,-d的默认分隔符号就为tab键。
  • 相关阅读:
    linux一切皆文件之tcp socket描述符(三)
    linux一切皆文件之Unix domain socket描述符(二)
    linux一切皆文件之文件描述符(一)
    k8s之使用secret获取私有仓库镜像
    https、ssl、tls协议学习
    k8s网络之calico学习
    泛型的原理、应用、约束、缓存
    C#中Unity对象的注册方式与生命周期解析
    监听EF执行的sql语句及状态
    递归一个List<T>,可自己根据需要改造为通用型。
  • 原文地址:https://www.cnblogs.com/zhihaowang/p/10128662.html
Copyright © 2020-2023  润新知