zoukankan      html  css  js  c++  java
  • 【Linux】撷取命令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 在处理多空格相连的数据时,可能会比较吃力一点。

      参考资料:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash.php#pipe

  • 相关阅读:
    制作完整的java可执行文件
    做最好的自己
    hadoop安装&单机配置
    虚拟机中不能识别U盘的解决方案
    扩展的欧几里得&中国剩余定理
    Java基础知识
    [转载] vim+ctags+taglist+cscope+cppcomplete+global
    [转载] tar 备份时如何保持权限
    [转载] Python没有switch语句的解决方法
    Makefile中一些特殊符号的意义
  • 原文地址:https://www.cnblogs.com/ningvsban/p/3724267.html
Copyright © 2011-2022 走看看