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
  • 相关阅读:
    Angular Universal 学习笔记
    SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
    Angular 服务器端渲染的学习笔记(二)
    Angular 服务器端渲染的学习笔记(一)
    第三方外部 Saas提供商如何跟使用 SAP 系统的客户进行对接接口集成
    如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
    具备自动刷新功能的 SAP ABAP ALV 报表
    C++学习目录
    c--条件编译
    c--文件读写--二进制
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15755613.html
Copyright © 2011-2022 走看看