正则表达式—grep的用法详解

grep与sed、awk共称为文字处理三剑客,支持正则表达式语句,具体用法如下:

grep [options] PATTERN [file]
    #常用选项:
    --color=auto  #对匹配到的文本着色显示
    -v       #取反,显示未被PATTERN匹配到的行
    -i       #忽略字符大小写
    -o       #只显示被PATTERN匹配到的字符
    -A#       #匹配到字符,后#行
    -B#       #匹配到的字符,前#行
    -E       #使用egrep

1、–color=auto对匹配的文本着色显示,

[root@Centos6]# grep --color=auto 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash     #root会被着色显示,好像这里面弄不出效果

2、-v取反,显未被匹配到的行

[root@Centos6 ~]# grep -v 'defaults' /etc/fstab
# /etc/fstab
# Created by anaconda on Wed Jun 22 22:20:20 2016
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
devpts     /dev/pts       devpts  gid=5,mode=620  0 0

3、-i忽略字符大小写

[root@Centos6 ~]# grep -i 'DEFAULTS' /etc/fstab
/dev/mapper/vg_centos6-lv_home /home ext4    defaults        1 2
/dev/mapper/vg_centos6-lv_swap swap  swap    defaults        0 0
proc                   /proc  proc   defaults        0 0

4、-o只显示被匹配到的字符串

[root@Centos6 ~]# grep -o -i 'root' /etc/passwd
root
root
root
root

5、-A#匹配到的字符后#行

[root@Centos6 ~]# grep -A2 -i 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

6、-B#区配到的字符前#行,使用-n,在区配的结果前显示行号

[root@Centos6 ~]# grep -B2 -i -n 'root' /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
--
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10-uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
11:operator:x:11:0:operator:/root:/sbin/nologin

7、-c显示匹配到的次数

[root@Centos6 ~]# grep -c 'nologin' /etc/passwd
26

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21083

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04
下一篇 2016-07-04

相关推荐

  • Linux发行版介绍

    一,Linux是什么?      Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统…

    2016-10-29
  • sed 流编辑器使用详解

    一、Stream EDitor, 行编辑器   sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出…

    2016-08-10
  • Linux之文件管理命令

      Linux文件管理类命令 Linux一切皆文件,所以熟悉文件管理命令对我们来说至关重要 文件查看命令 cat命令:文本文件查看工具 命令用法:         cat [OPTION]… [FILE]… 常用选项:  &nbsp…

    Linux干货 2016-11-04
  • linux常用网络配置

    网卡名称:  网络接口识别并命名相关的udev配置文件:    /etc/udev/rules.d/70-persistent-net.rules  卸载网卡驱动:    modprobe  -r e1000  装载网卡驱动:    modprobe &nbs…

    Linux干货 2016-09-06
  • 使用haproxy代理LAMP、LNMP 实现WordPress发布

    haproxy简介 HAProxy是专业的反向代理软件,它可以支持4层和7层代理服务。其配置包含一下几个配置段: global:全局设置,通常与操作系统有关 defaults:配置默认参数,可以被frontend、backend、listen组件利用 frontend:接收亲请求的前虚拟节点 backend:后端服务集群的配置,一个backend可以对应多个…

    2017-05-17
  • linux文件的时间

    1,linux文件有哪些时间属性     access time:atime 访问时间:即查看访问文件的时间     modify time:mtime 修改时间:修改文件内容的时间     change time:ctime 改变时间:修…

    Linux干货 2016-06-09