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
  • 相关阅读:
    【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
    【不定期更新】游戏开发中的一些良好习惯与技术技巧
    【Visual C++】游戏开发笔记之七——基础动画显示(一)定时器的使用
    【超级经典】程序员装B指南(转)
    Gentoo安装小记
    图形学中的贴图采样、走样与反走样等
    面试题之银行业务调度系统
    四川雅安芦山加油挺住
    ZOJ 3223 Journey to the Center of the Earth
    android中ListView拖动时背景黑色的问题
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15755613.html
Copyright © 2011-2022 走看看