zoukankan      html  css  js  c++  java
  • grep 常用正则匹配

    1、或操作

    grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行
    egrep '123|abc' filename    // 用egrep同样可以实现
    awk '/123|abc/' filename   // awk 的实现方式

    2、与操作

    grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

    3、正则表达式元字符集:

    ^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。 
    $ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 
    . 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 
    * 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。
     [] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 
    [^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 
    (..) 标记匹配字符,如'(love)',love被标记为1。 
     锚定单词的开始,如:'匹配包含以grep开头的单词的行。 
    > 锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。 
    x{m} 重复字符x,m次,如:'0{5}'匹配包含5个o的行。 
    x{m,} 重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。 
    x{m,n}重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。
     w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
      单词锁定符,如: 'grep'只匹配grep。
    
     常用的 grep 选项有:
     -c 只输出匹配行的个数。
     -i 不区分大小写(只适用于单字符)。
     -h 查询多文件时不显示文件名。
     -l 查询多文件时只输出包含匹配字符的文件名。
     -n 显示匹配行及行号。
     -s 不显示不存在或无匹配文本的错误信息。
     -v 显示不包含匹配文本的所有行。
     -V 显示软件版本信息
     使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。
  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/zendu/p/6073649.html
Copyright © 2011-2022 走看看