zoukankan      html  css  js  c++  java
  • bash中cut命令的用法[转]

    • cut

    cut 不就是『切』吗?没错啦!这个命令可以将一段信息的某一段给他『切』出来~ 处理的信息是以『行』为单位喔!底下我们就来谈一谈:

    [root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符
    [root@www ~]# cut -c 字符区间            <==用于排列整齐的信息
    选项与参数:
    -d  :后面接分隔字符。与 -f 一起使用;
    -f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
    -c  :以字符 (characters) 的单位取出固定字符区间;
    
    范例一:将 PATH 变量取出,我要找出第五个路径。
    [root@www ~]# echo $PATH
    /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games:
    # 1 |    2   |  3  |    4    |       5      |     6        |    7
    
    [root@www ~]# echo $PATH | cut -d ':' -f 5
    # 如同上面的数字显示,我们是以『 : 』作为分隔,因此会出现 /usr/local/bin 
    # 那么如果想要列出第 3 与第 5 呢?,就是这样:
    [root@www ~]# echo $PATH | cut -d ':' -f 3,5
    
    范例二:将 export 输出的信息,取得第 12 字符以后的所有字符串
    [root@www ~]# export
    declare -x HISTSIZE="1000"
    declare -x INPUTRC="/etc/inputrc"
    declare -x KDEDIR="/usr"
    declare -x LANG="zh_TW.big5"
    .....(其他省略).....
    # 注意看,每个数据都是排列整齐的输出!如果我们不想要『 declare -x 』时,
    # 就得这么做:
    
    [root@www ~]# export | cut -c 12-
    HISTSIZE="1000"
    INPUTRC="/etc/inputrc"
    KDEDIR="/usr"
    LANG="zh_TW.big5"
    .....(其他省略).....
    # 知道怎么回事了吧?用 -c 可以处理比较具有格式的输出数据!
    # 我们还可以指定某个范围的值,例如第 12-20 的字符,就是 cut -c 12-20 等等!
    
    范例三:用 last 将显示的登陆者的信息中,仅留下用户大名
    [root@www ~]# last
    root   pts/1    192.168.201.101  Sat Feb  7 12:35   still logged in
    root   pts/1    192.168.201.101  Fri Feb  6 12:13 - 18:46  (06:33)
    root   pts/1    192.168.201.254  Thu Feb  5 22:37 - 23:53  (01:16)
    # last 可以输出『账号/终端机/来源/日期时间』的数据,并且是排列整齐的
    
    [root@www ~]# last | cut -d ' ' -f 1
    # 由输出的结果我们可以发现第一个空白分隔的字段代表账号,所以使用如上命令:
    # 但是因为 root   pts/1 之间空格有好几个,并非仅有一个,所以,如果要找出 
    # pts/1 其实不能以 cut -d ' ' -f 1,2 喔!输出的结果会不是我们想要的。
    

    cut 主要的用途在于将『同一行里面的数据进行分解!』最常使用在分析一些数据或文字数据的时候! 这是因为有时候我们会以某些字符当作分割的参数,然后来将数据加以切割,以取得我们所需要的数据。 鸟哥也很常使用这个功能呢!尤其是在分析 log 文件的时候!不过,cut 在处理多空格相连的数据时,可能会比较吃力一点。

  • 相关阅读:
    on、where、having的区别和关系
    Java知识点补缺
    Hive部署到IDEA报错 Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt 解决方案
    Hive知识点总结
    区分同步与异步、阻塞与非阻塞
    Hive查询分区元数据,PARTITIONED BY
    单例模式总结
    Sql语句执行顺序
    收藏大数据相关面试题比较好的链接
    实习技能
  • 原文地址:https://www.cnblogs.com/friedwm/p/2125145.html
Copyright © 2011-2022 走看看