zoukankan      html  css  js  c++  java
  • linux 正则表达式 使用grep命令

    最常应用正则表达式命令是 awk sed grep

    [root@MongoDB ~]# cat mike.log 
    I am mike!
    I like linux.
    
    I like play football, tennis and reading.
    my qq is 123456789!
    my blog is https://i.cnblogs.com
    my blog is i.miek.com
    I am miek.
    not MIEK
    NOT MIKE

    基础正则字符说明

    1.^word 匹配以word开头的内容  vi/vim编辑器里^代表一行的开头

    2.word$ 匹配以word结尾的内容  vi/vim编辑器里$代表一行的结尾

    3. ^$ 表示空行

    a.过滤出来以m开头的行

    [root@MongoDB ~]# grep "^m" mike.log 
    my qq is 123456789!
    my blog is https://i.cnblogs.com
    my blog is i.miek.com

    b.过滤出来以m结尾的行

    [root@MongoDB ~]# grep "m$" mike.log 
    my blog is https://i.cnblogs.com
    my blog is i.miek.com

    c.过滤匹配空行的行

    grep -n 显示匹配的行号

    [root@MongoDB ~]# grep -n '^$' mike.log 
    3:
    11:

    grep -v 排除内容  指定字段不显示

    过滤出 不带 空行的行,其他行都打印

    [root@MongoDB ~]# grep -vn "^$" mike.log 
    1:I am mike!
    2:I like linux.
    4:I like play football, tennis and reading.
    5:my qq is 123456789!
    6:my blog is https://i.cnblogs.com
    7:my blog is i.miek.com
    8:I am miek.
    9:not MIEK
    10:NOT MIKE

    4. . 代表且只能代表任意一个字符。

    5. 转义

    6. * 重复0个或多个前面的一个字符 例如o* 匹配没有o,有一个o或多个o

    7 .* 匹配所有字符  ^.*以任意多个字符开头, .*$ 以任意多个字符结尾

    a. 匹配任意一个字符  .

    因为第三行没有字符 没有匹配到

    [root@MongoDB ~]# grep -n "." mike.log 
    1:I am mike!
    2:I like linux.
    4:I like play football, tennis and reading.
    5:my qq is 123456789!
    6:my blog is https://i.cnblogs.com
    7:my blog is i.miek.com
    8:I am miek.
    9:not MIEK
    10:NOT MIKE

    .*

    [root@MongoDB ~]# grep -n ".*" mike.log 
    1:I am mike!
    2:I like linux.
    3:
    4:I like play football, tennis and reading.
    5:my qq is 123456789!
    6:my blog is https://i.cnblogs.com
    7:my blog is i.miek.com
    8:I am miek.
    9:not MIEK
    10:NOT MIKE
    11:

     匹配 mi..    .. 任意字符

    root@MongoDB ~]# grep -n "mi.." mike.log 
    1:I am mike!
    7:my blog is i.miek.com
    8:I am miek.

    grep -i 不区分大小写

    [root@MongoDB ~]# grep -ni "mi.." mike.log 
    1:I am mike!
    7:my blog is i.miek.com
    8:I am miek.
    9:not MIEK
    10:NOT MIKE

    匹配以.结尾 需要转义

    [root@MongoDB ~]# grep -n ".$" mike.log 
    2:I like linux.
    4:I like play football, tennis and reading.
    8:I am miek.

    -o 只显示匹配的内容

    [root@MongoDB ~]# grep -no "mi.." mike.log 
    1:mike
    7:miek
    8:miek

    8. [abc]  匹配字符串集合内任意一个字符 [a-zA-Z],[0-9]

    9. [^abc]  匹配不包含^后的任意一个字符的内容

    中括号里的^为取反

    匹配0-9数字的行 匹配数字的行

    [root@MongoDB ~]# grep  "[0-9]" mike.log 
    my qq is 123456789!
  • 相关阅读:
    Windows Server 2003 SP2(32位) 中文版 下载地址 光盘整合方法
    用Recycle()方法对Java对象的重要性
    Lotus中千奇百怪的 $$
    Developing a simple application using steps "User Decision" and "Mail"(1) 沧海
    沟通中的情绪管理(演讲稿) 沧海
    人只有在压力之下,才可能成功,没做一件事,都必须成功,不许言败 沧海
    什么是IDOC,以及IDOC的步骤 沧海
    VS2008 Professional Edition CHS中的deffactory.dat读取错误 沧海
    Including custom text in the step "User Decision" 沧海
    SAP Upgrade Strategy 沧海
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/10930900.html
Copyright © 2011-2022 走看看