正则表达式之初体验

学习正则表达式之前,看过这复杂的表达式,犹如天书,无比高大上;怀着战战兢兢的心情,开始了学习之旅:

一、  正则表达式Global search REgular expression and Print out the line.


我的理解是:通过一大堆符号组成的公式逐行查找文本中匹配的字符串并显示出来 

分类

            egrep打开对元字符扩展集的支持,实现与 grep -E相同的功能。 

             fgrep:与grep相似,占用空间比egrep小,速度比grep快,但不识别正则表达式。

注意:

1、 只能查找文本

2、 逐行查找

二、 语法格式


grep [option]… 'PATTERN' FILE..

–color=auto   语法着色,显示匹配的字符

        命令选项:

            -v: 反向选取

            -o: 仅显示匹配的字串,而非字串所在的行

            -i: ignore-case,忽略字符大小写

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

            -A #  显示匹配行以及以下#

            -B #  显示匹配行以及以上#

               -C #  显示匹配行以及上下#

三、 元字符metacharacter


这类的常用字符有:

blob.png

blob.png

blob.pngblob.png

     举例说明:

     1、找出/etc/passwd文件中的一位数或两位数

     blob.png

 blob.png

2、列出当前系统上其用户名和默认shell相同的用户

/etc/passwd  下的用户格式:

blob.png

如上所示,左右字符都一样的予以显示,因此,可以使用分组以及引用功能。

blob.png

3、使用echo命令输出一个路径,而后使用grep取出其基名

blob.png

4、找出ifconfig命令结果中的1-255之间的数字

blob.png

以上是一些学习小结,后续学习中还会进一步加深

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

(0)
麦鲸麦鲸
上一篇 2015-03-30 23:43
下一篇 2015-04-01 13:24

相关推荐

  • 8.1_Linux管道的使用和用户管理

    什么是管道? 管道就是把命令1的标准输出发送给命令2的标准输入,把命令2发的标准输出发送给命令3的标准输入。。。 最后一个命令会在当前shell进程的子shell进程中执行用来 管道实现了使用目的单一的小程序,组合小程序完成复杂的任务 管道需要配合其他命令的使用 tr命令的使用,常常用于配合管道     -c或–co…

    Linux干货 2016-08-10
  • find、locate详细解析

    文件查找 在linux系统中如果我们不知道具体的文件的具体位置,我们可以使用文件查找命令来找到我们想找的文件,linux中也有相当优秀的查找命令,(如locate、find),通常查找速度快是locate,因为它是利用数据库查找的,所以速度很快,而find是全磁盘扫描进行查找,所以速度比较慢。 locate和find都是在文件系统上查找符合条件的文件含义。 …

    Linux干货 2016-08-13
  • linux内核及centos系统启动流程

    Linux组成 Linux: kernel+rootfs(根文件系统) kernel功能: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc  库:函数集合, function, 调用接口(头文件负责描述)      过程调用:proce…

    Linux干货 2016-09-10
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • vfork 挂掉的一个问题

    在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不会?并给出了如下的代码,下面的代码一运行就挂掉了,但如果把子进程的return改成exit(0)就没事。 我受邀后本来不想回答这个问题的,因为这个问题明显就是RTFM的事,后来,发现这个问题放在那里好长时间,而挂在下面的几个答案又跑偏得比较严重,…

    Linux干货 2016-08-15
  • Linux 基础(三)——用户管理&正则表达式

    1、  列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f1 | uniq 2、  取出最后登录到当前系统的用户的相关信息。 last -1 | cut -d " " -f1 | head -1 | id 3、  …

    Linux干货 2016-11-08