zoukankan      html  css  js  c++  java
  • shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割

      -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来;

      -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 ;

      -c参数后面跟着要选择的字符偏移,-b表示后面跟着要选择的字节偏移;

      可以使用start-end表示一个区间,解决使用逗号的烦恼。

    比如这个实例:

    ubuntu@ubuntu:~$ cat test.txt
    aaaaa;bbbbb;ccccc
    ddddddd;eeeeee
    fffff;gggggggg!iii;jjjjjj;kkkk
    ubuntu@ubuntu:~$ cut -f 2,3 -d ";" test.txt #注意分隔符使用引号括起来
    bbbbb;ccccc
    eeeeee
    gggggggg!iii;jjjjjj
    ubuntu@ubuntu:~$ #上一条命令的作用是选择以;分隔之后的第2和第3字段
    

      

    使用-表示区间

    ubuntu@ubuntu:~$ cat test.txt
    aaaaa"bbbbb"ccccc
    ddddddd"eeeeee
    fffff"gggggggg!iii"jjjjjj"kkkk
    ubuntu@ubuntu:~$ cut -f 1-2 -d '"' test.txt
    aaaaa"bbbbb
    ddddddd"eeeeee
    fffff"gggggggg!iii
    ubuntu@ubuntu:~$ cut -d '"' -c 1-3 test.txt
    cut: an input delimiter may be specified only when operating on fields
    Try 'cut --help' for more information.
    ubuntu@ubuntu:~$ 
    

      注意:-d只能和-f一起配合使用,-c不能和-d一起使用,只能单独使用。想一想就很容易明白嘛,-d表示指定分隔符,而-c表示指定区间的字符,不需要分割。

    awk:循环迭代对每一行进行操作

      awk用来处理文本和数据,功能很强大,如果是一些简单的操作,可以使用cut命令来实现

      -F 后面加上分隔符 ,建议空格分开后,使用引号将分隔符括起来,不加-F时,默认是以空格分隔。$0表示整行数据,$1表示第1个字段

    ubuntu@ubuntu:~$ cat test.txt
    aaaaa"bbbbb"ccccc
    ddddddd"eeeeee
    fffff"gggggggg!iii"jjjjjj"kkkk
    ubuntu@ubuntu:~$ cat test.txt | awk -F '"' '{print $1"=>"$2}'
    aaaaa=>bbbbb
    ddddddd=>eeeeee
    fffff=>gggggggg!iii
    

      awk特别强大,这里提一点点,可以参考http://man.linuxde.net/awk

  • 相关阅读:
    使用Jquery 来AJAX操作!
    血细胞形态异常的临床意义
    骨髓细胞检查
    保护眼睛的颜色
    php的一些技巧
    播放ASF文件无声音
    不被其他网站载入框架之内
    如何判断一个页面加载所耗费的时间
    教大家如何洗葡萄,很好吃哦!
    急性粒细胞白血病部分分化型AMLM2
  • 原文地址:https://www.cnblogs.com/-beyond/p/8330281.html
Copyright © 2011-2022 走看看