正则表达式之初体验

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

一、  正则表达式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

相关推荐

  • N26-第五周博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]].*$" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root…

    系统运维 2017-02-10
  • Linux网络属性管理(二)

    Linux网络属性(二) Linux 网络属性管理(二) ip命令 ip – show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS …

    Linux干货 2016-07-07
  • ​Linux基础知识之screen命令详解

    该博文以CentOS6.8_x86_64系统为基础,Xshell5远程登录CentOS6.8系统,以root身份登录系统,以Xshell5发起screen帮助,用系统命令行界面去连接。 screen命令:         打开新的screen: screen -S [SESSION]   (打开一个名叫hel…

    Linux干货 2016-07-29
  • 日志系统

    日志管理 发送日志命令,通知用户:logger  -p  local7.info “this is a test log” Local#.info 为自定义到文件或目录,或用户的级别 日志远程存储需要启动514端口,在centos7上需要取消注释 Uptime可以查看开机时间 rsyslog特性:CentOS6和7 Ü多线程 ÜUDP…

    Linux干货 2018-02-01
  • Linux 文本查看及处理工具&&用户和组管理

    1、列出当前系统上所有已登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ' ' -f 1 | sort -u 2、取出最后登入到当前系统的相关信息。 ~]# last&…

    Linux干货 2016-10-05
  • linux下逻辑卷管理LVM

    LVM:逻辑卷管理 LVM这个技术就是把底层的存储设备组成一个卷组,底层存储设备的存储空间会变成一个个PE(盘区,大小为2的n次方),这个卷组里就是一个个的PE,然后,这个卷组会重新分区,这些分区就为逻辑卷,这些逻辑卷都是由卷组里分配的PE组成。 关于LVM里的命令: pv的命令: pvcreate pvs pvdisplay pvscan pvremove…

    Linux干货 2015-08-04