zoukankan      html  css  js  c++  java
  • 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键。
  • 相关阅读:
    bzoj2733 永无乡 平衡树按秩合并
    bzoj2752 高速公路 线段树
    bzoj1052 覆盖问题 二分答案 dfs
    bzoj1584 打扫卫生 dp
    bzoj1854 游戏 二分图
    bzoj3316 JC loves Mkk 二分答案 单调队列
    bzoj3643 Phi的反函数 数学 搜索
    有一种恐怖,叫大爆搜
    BZOJ3566 概率充电器 概率dp
    一些奇奇怪怪的过题思路
  • 原文地址:https://www.cnblogs.com/zhihaowang/p/10128662.html
Copyright © 2011-2022 走看看