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中的鼠标滚轮事件
    js图形打印
    抽奖
    GJM : Unity3D HIAR -【 快速入门 】 五、导出 Android 工程、应用
    GJM : Unity3D HIAR -【 快速入门 】 四、创建 Hello World
    GJM : Unity3D HIAR -【 快速入门 】 三、导入 SDK
    GJM : Unity3D HIAR -【 快速入门 】 二、搭建开发环境
    GJM : Unity3D HIAR -【 快速入门 】 一、简介
    GJM :Unity集成Leap Motion
    GJM : Unity3D 高通Vuforia SDK AR 开发
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15755613.html
Copyright © 2011-2022 走看看