zoukankan      html  css  js  c++  java
  • Ubuntu下,grep的用法

    grep(Global search Regular Expression and Print out the line)是一种强大的文本搜索工具,
    它能使用正则表达式搜索文本,并把匹配的行打印出来。
    Unix的grep家族还包括egrep(Ext)和fgrep(Fixed)。

    grep使用的正则表达式元字符:

    元字符功能示例匹配对象
    ^ 行首定位符 ‘^simaopig%’ 匹配所有以simaopig开头的行
    $ 行尾定位符 ‘simaopig$’ 匹配所有以simaopig结尾的行
    . 匹配任意一个字符 ‘s.m’ 匹配包含一个s字符,后面跟一个字符(随意),再跟一个m的行
    * 匹配0或多个前一字符 ‘s*m’ 匹配包含零个或多个s字符,后面跟有一个m字符的行
    [] 匹配一组字符中的任意一个 ‘[Ss]imaopig’ 匹配simaopig,或者Simaopig
    [^] 匹配不在指定字符组内的字符 ‘[^a-z]imaopig’ 匹配不包含在a-z之间的字符后跟着imaopig的行,即所有aimaopig-zimaopig的行都不包含(有点绕)
    < 词首定位符 ‘<simaopig’ 匹配以simaopig为开头的词的行,simaopigabcd也是可以的
    > 词尾定位符 ‘simaopig>’ 匹配以simaopig为结尾的词的行,abcdsimaopig也是可以的
    .. 标记匹配的字符 simaopig's blog’ 标记寄存器里的一段字符,该寄存器被记作1号寄存器。以后引用这段字符时,可以使用1来重复该模式。9个标签中最左边的是第一号。例如,模式simaopig被保存在1号寄存器里,之后用1来引用它。
    x{m}或x{m,}或x{m,n} 字符x的重复出现 ‘s{5}’,'s{5,}’,'s{5,10}’ 匹配连续出现5个s、至少5个s或5到10个s的行

    grep的选项:

    选项功能
    -b 在每一行前面加上其所在的块号,根据上下文定位磁盘块时可能会用到
    -c 显示匹配到的行的数目,而不是显示行的内容
    -h 不显示文件名
    -i 比较字符时忽略大小写的区别
    -l(小写的字母L) 只列出匹配行所在文件的文件名(每个文件名只列一次),文件名之间用换行符分隔
    -n 在每一行前面加上它在文件中的相对行号
    -s 无声操作,即只显示报错信息,用于检查退出状态
    -v 反向查找,只显示不匹配的行
    -w 把表达式作为词来查找,就好像它被<和>夹着那样。只适用于grep(并非所有版本的grep都支持这一功能,譬如,SCO UNIX就不支持)

    更多参见:
    grep 正则表达式及选项以及注意
    grep用法详解:grep与正则表达式

    原文:http://blog.csdn.net/gaojinshan/article/details/9379957

  • 相关阅读:
    C# 文件重命名
    C# 获取图像文件
    我开通了博客
    C# 图像截取
    C# 从txt读取内容
    Linux 下查看用户组信息
    部署Jenkins完整记录
    一篇文章搞定Java注解^_^
    Java基础之接口
    枚举让盗版美国总统wcc给你整明白哈哈
  • 原文地址:https://www.cnblogs.com/Ph-one/p/7380089.html
Copyright © 2011-2022 走看看