Linux grep与正则表达式浅析

#Linux grep与正则表达式浅析
##grep
  grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

###grep语法
    grep [options] pattern [file…]
        options:
            -v:对搜索内容取反

Linux grep与正则表达式浅析
            -i:搜索时忽略大小写

Linux grep与正则表达式浅析

            -n:显示搜索内容的行号

Linux grep与正则表达式浅析

            -o:只显示匹配到的内容

Linux grep与正则表达式浅析
            -q:静默模式,不输出信息(常用于脚本,使用echo $?判断,echo $?返回值位0时证明grep命令匹配已到模式字符,非零1~255匹配失败)

Linux grep与正则表达式浅析
            -e:指定多个pattern
            -A#:显示匹配pattern后#行内容
            -B#:显示匹配pattern前#行内容
            -C#:显示匹配pattern前后各#行内容

Linux grep与正则表达式浅析
            -E:支持扩展表达式

##基本正则表达式元字符
###字符匹配
        . :匹配任意单个字符

Linux grep与正则表达式浅析
        []:匹配中括号范围内的任意单个字符

Linux grep与正则表达式浅析
        [^]:匹配中括号范围外的任意单个字符

Linux grep与正则表达式浅析
        [:alpha:]:匹配任意大小写字母

Linux grep与正则表达式浅析
        [:alnum:]:匹配字母与数字

Linux grep与正则表达式浅析
        [:lower:]:匹配任意小写字母

Linux grep与正则表达式浅析
        [:upper:]:匹配任意大写字母

Linux grep与正则表达式浅析
        [:space:]:匹配空格

Linux grep与正则表达式浅析
        [:digit:]:匹配十进制数字
        [:punct:]:匹配标点符号
###次数匹配
        * :匹配前字符任意次,0,1,……

Linux grep与正则表达式浅析
        .*:匹配任意长度任意字符

Linux grep与正则表达式浅析
        \?:匹配前字符0次或1次

Linux grep与正则表达式浅析
        \+:匹配前字符1次至无限次(至少1次)

Linux grep与正则表达式浅析
        \{n\}:匹配前字符n次

Linux grep与正则表达式浅析
        \{n,m\}:匹配前字符至少n次,至多m次

Linux grep与正则表达式浅析
        \{n,\}:匹配前字符至少n次,
        \{,m\}:匹配前字符至多m次
###位置锚定
        ^ :锚定行首

Linux grep与正则表达式浅析
        $ :锚定行尾

Linux grep与正则表达式浅析
Linux grep与正则表达式浅析

        ^$ :表示空行,^[[:space:]]\+$:空白行

        \<或\b:锚定词首

Linux grep与正则表达式浅析
        \>或\b:锚定词尾

Linux grep与正则表达式浅析
        注:\b:位置决定锚定词首或词尾
###分组及引用
        \( \):将一个或多个字符"捆绑"成分组,后向使用变量\1引用(可按分组数引用对应变量,引用的是匹配到的字符而非匹配模式)

Linux grep与正则表达式浅析

        最后一条命令:查找/etc/passwd文件同行中出现同一单词出现两次的行

##扩展正则表达式元字符
###字符匹配
        与基本正则表达式相同(使用方法与基本正则表达式相同)
###次数匹配
        * :匹配前字符任意次,0,1,……(使用方法与基本正则表达式相同)
        .*:匹配任意长度任意字符,(使用方法与基本正则表达式相同)
        ?:匹配前字符0次或1次,(使用方法与基本正则表达式相同,以此为例)

Linux grep与正则表达式浅析
        +:匹配前字符1次至无限次(至少1次),(使用方法与基本正则表达式相同,)
        {n}:匹配前字符n次,(使用方法与基本正则表达式相同)
        {n,m}:匹配前字符至少n次,至多m次,(使用方法与基本正则表达式相同)
        {n,}:匹配前字符至少n次,(使用方法与基本正则表达式相同)
        {,m}:匹配前字符至多m次,(使用方法与基本正则表达式相同)
###位置锚定
        与基本正则表达式相同,(使用方法与基本正则表达式相同)
###分组引用
        ():扩展正则表达式分组不需要对其转义,使用和基本正则表达式相同

Linux grep与正则表达式浅析
###其他
        在基本正则表达式模式匹配时使用或(|)需要对其转义(前面加\),扩展正则表达式模式匹配时使用或(|)不需要对其转义。

Linux grep与正则表达式浅析

配图为常用选择。

原创文章,作者:wangy,如若转载,请注明出处:http://www.178linux.com/72629

(0)
wangywangy
上一篇 2017-04-06 10:19
下一篇 2017-04-06 15:09

相关推荐

  • btrfs文件系统

                                                      &nbsp…

    Linux干货 2015-08-21
  • Linux 根文件系统层级结构

    一、Linux根文件系统层级结构图 二、Linux根文件系统目录说明

    Linux干货 2016-09-26
  • 命令(2017.5.16-2017.519-部分)

    命令(1) bc  计算器 dd if=/dev/zero 查看逻辑设备(非硬件) dd if=/dev/sd 查看硬件设备 dd if=/dev/zeroof=file bs=1M count=24  写入磁盘速度 dd if=/dev/zeroof=/dev/null bs=1M count=24  测试…

    Linux干货 2017-05-22
  • 磁盘分区,文件系统的创建、修改和检测

        写博客,对我来说不仅是学习的过程,也是一个心理历练的过程,多说无益,开始吧!!!     博客是马哥视频里的博客作业:文件系统的创建、修改和检测。我就从磁盘管理开始把      环境:     创建的centos6.5虚拟机 &nb…

    Linux干货 2016-06-26
  • iptables:防火墙以及网络协议基本原理

    一、 Linux 网络安全模型      1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。也可能两者结合。          1) 通常使用的防火…

    Linux干货 2015-07-24
  • 用户及权限管理

    新建用户用到的相关文件/etc/default/useradd /etc/login.defs /etc/skel/* 批量创建用户1.创建用户列表user.txt(文件格式同/etc/passwd) 2.newusers user.txt 3.创建密码文件passwd.txt(格式  用户名:密码) 4.cat passwd.txt | chpa…

    Linux干货 2016-08-11