微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

grep命令、正则表达式、文本通配符

  • grep全称是(Global Regular Expression Print)是一种强大的文本搜索工具,根据用户指定模式逐行搜索

    主要选项如下:

    --color=auto:高亮显示匹配内容

    -v:反向显示,只显示不包含匹配文本的所有行

    -o:不显示匹配行只显示匹配内容

    -i:忽略大小写

    -E:支持扩展正则表达式

    -n:显示匹配行及 行号

    -An:显示匹配行和以下n行

    -Bn:显示匹配行和以上n行

    -Cn:显示前后各n行


  • 文件通配
    符号 备注 举例 说明
    * 任意长度的任意字符 ls -d /etc/* 查看etc下所有文件和目录
    任意单个字符 ls -d /etc/p?i 查看etc下p开头i结尾中间包含任意单个字符的文件和目录
    [] 指定范围类的单个字符 ls -d /etc/p[pk]p 查看etc下p开头p结尾中间只包含p或k的文件和目录
    [^] 指定范围外的单个字符 ls -d /etc/p[^a-z]p 查看etc下p开头p结尾中间不包含字母的文件和目录
    [:space:] 空白字符 grep "^#[[:space:]]*$" /etc/inittab 查找出以#开头中间包含任意空白符的行,
    [:punct:] 标点符号

    [:lower:] 小写字母

    [:upper:] 大写字母

    [:digit:] 数字

    [:alnum:] 所有字母和数字

    [:alpha:] 所有字母

    正则表达式
    . 任意单个字符

    [] 指定范围内的任意单个字符

    [^] 指定范围外的单个字符

    * 前一字符出现的任意长

    ? 前一字符出现的0次或1次

    \{m\} 前一字符出现最少m数

    \{m,\} 前一字符出现最少m数,到多次

    \{m,n\} 前一字符出现最少m次,最多n次

    .* 任意长度任意字符

    ^ 行首锚定

    $ 行尾锚定

    ^$或者^[[:space:]]$ 表示空白行

    \< 词首锚定

    \> 词尾锚定

    \(\) 分组符号 grep "\(by\) " /etc/inittab

    \n 引用第n个分组括号内容

    扩展正则表达式
    ?{}() 无需转义,词首词尾还需转义

    + 表示前一字符至少出现一次

    |

原文地址:https://www.jb51.cc/regex/360626.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐