zoukankan      html  css  js  c++  java
  • linux系统中如何精确匹配0

    1、测试数据

    root@DESKTOP-1N42TVH:/home/test/test# cat test.txt
    2013    2014    2013    2014
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0

    2、awk实现只匹配0的行

    root@DESKTOP-1N42TVH:/home/test/test# cat test.txt
    2013    2014    2013    2014
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test/test# awk '/^0[^.]/ || /[\t ]0[^.]/' test.txt
    1       1.3     0       0
    0.9     1.7     0       0
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test/test# cat test.txt
    2013    2014    2013    2014
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test/test# awk '/^0[\t ]/ || /[\t ]0[\t ]/' test.txt
    1       1.3     0       0
    0.9     1.7     0       0
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test/test# cat test.txt
    2013    2014    2013    2014
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     3       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    0.9     1.3     8       0
    root@DESKTOP-1N42TVH:/home/test/test# awk '/^0[^.]/ || /\t0[^.]/ || /\t0$/' test.txt
    1       1.3     0       0
    0.9     1.7     0       0
    1       1.6     0       0.9
    0       1.6     3       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    0.9     1.3     8       0

    3、grep实现

    
    

    root@DESKTOP-1N42TVH:/home/test/test# cat test.txt
    2013 2014 2013 2014
    1 1.3 0 0
    0.9 1.7 0 0
    0.9 1.3 4.2 0.9
    1 1.6 0 0.9
    0 1.6 3 0.9
    0.9 1.2 0 0
    0.9 1.3 0 0
    0.9 1.3 8 0
    root@DESKTOP-1N42TVH:/home/test/test# sed 's/\t/ /g' test.txt > test2.txt
    root@DESKTOP-1N42TVH:/home/test/test# ls
    test.txt test2.txt
    root@DESKTOP-1N42TVH:/home/test/test# cat test2.txt
    2013 2014 2013 2014
    1 1.3 0 0
    0.9 1.7 0 0
    0.9 1.3 4.2 0.9
    1 1.6 0 0.9
    0 1.6 3 0.9
    0.9 1.2 0 0
    0.9 1.3 0 0
    0.9 1.3 8 0
    root@DESKTOP-1N42TVH:/home/test/test# grep -E "^0[^.]| 0 | 0$" test2.txt
    1 1.3 0 0
    0.9 1.7 0 0
    1 1.6 0 0.9
    0 1.6 3 0.9
    0.9 1.2 0 0
    0.9 1.3 0 0
    0.9 1.3 8 0

     

    b、grep命令实现

    root@DESKTOP-1N42TVH:/home/test# ls
    a.txt
    root@DESKTOP-1N42TVH:/home/test# cat a.txt
    2013    2014    2013    2014
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test# cat -A a.txt
    2013    2014    2013    2014$
    1       1.3     0       0$
    0.9     1.7     0       0$
    0.9     1.3     4.2     0.9$
    1       1.6     0       0.9$
    0       1.6     0       0.9$
    0.9     1.2     0       0$
    0.9     1.3     0       0$
    root@DESKTOP-1N42TVH:/home/test# grep $'[\t ]\+0' a.txt   ## 提取0前面有空格或者制表符的行
    1       1.3     0       0
    0.9     1.7     0       0
    0.9     1.3     4.2     0.9
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
    root@DESKTOP-1N42TVH:/home/test# grep $'[\t ]\+0' a.txt | grep $'0[\t ]\+'  ## 利用管道,增加提取0后面有空格或者制表符的行
    1       1.3     0       0
    0.9     1.7     0       0
    1       1.6     0       0.9
    0       1.6     0       0.9
    0.9     1.2     0       0
    0.9     1.3     0       0
  • 相关阅读:
    js中this的用法
    js原型链与继承(初体验)
    关于C语言指针中的p++与p+i
    react todolist
    react表单提交
    react条件渲染
    react初体验
    初次接触express
    阿里内推在线编程题(返回元素的选择器)
    模块初始化
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15755613.html
Copyright © 2011-2022 走看看