美文网首页Linux基础
Linux基础命令(三)-grep

Linux基础命令(三)-grep

作者: hipeer | 来源:发表于2018-09-18 13:34 被阅读0次

    grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。
    egrep为扩展的grep(等同于grep -E)
    fgrep则为快速grep(固定的字符串来对文本进行搜索,不支持正则表达式的引用但是查询极为快速)。
    grep是linux文本处理三剑客之一。


    1. grep [option] pattern [file...]
    • -i:匹配时忽略大小写
    • -o: 只显示匹配到的字符串
    • -v: 显示没有匹配到的所有行
    • -n: 显示行号
      注:使用grep匹配时需要使用双引号,防止系统报错

    2. egrep [option] pattern [file...] 或 grep -E [option] pattern [file...]

    egrep和grep相比取消了基本正则表达式的斜杠转义,egrep的[option] 选项参考grep


    grep和egrep基本正则表达式元字符比较

    字符匹配

    egrep 说明 grep 说明
    . 匹配任意字符 . 匹配任意字符
    [] 指定范围内的任意单个字符 [] 指定范围内的任意单个字符
    [^] 指定范围外的任意单个字符 [^] 指定范围外的任意单个字符
    [:digit:] 匹配任意单个数字 N/A N/A
    [:alpha:] 匹配任意单个字母 N/A N/A
    [:alnum:] 匹配任意单个字母或数字 N/A N/A
    [:space:] 匹配单个空格 N/A N/A
    [:punct:] 匹配任意单个符号 N/A N/A
    [:lower:] 匹配任意单个小写字母 N/A N/A
    [:upper:] 匹配任意单个大写字母 N/A N/A

    注:.在[]中就代表.本身


    匹配次数

    egrep grep 说明
    * * 匹配0次或多次
    + \+ 匹配1次或多次
    ? \? 匹配0次或一次
    {n} \{n\} 匹配n次
    {0,n} \{0,n\} 匹配0次到n次
    {n,m} \{n,m\} 匹配n次到m次
    {n,} \{n,\} 至少匹配n次

    分组

    egrep grep 说明
    () \(\) 把括号中的内容当作整体处理

    注:后向引用,\1:引用第一个左括号及与之对应的右括号之间的所有内容。\2:引用第一个左括号及与之对应的右括号之间的所有内容。\3...


    或者

    egrep grep 说明
    | | 或者

    锚定

    egrep 说明 grep 说明
    ^ 行首 ^ 行首
    $ 行尾 $ 行尾
    ^$ 空白行 ^$ 空白行
    \<,\b 词首 N/A N/A
    \>,\b 词尾 N/A N/A

    相关文章

      网友评论

        本文标题:Linux基础命令(三)-grep

        本文链接:https://www.haomeiwen.com/subject/gffunftx.html