正则表达式—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 11:27
下一篇 2016-07-04 11:28

相关推荐

  • shell编程之循环

           当需要重复运行特定的指令以满足系统管理工作需要时,条件判断语句if、case并不能很好地提供支撑,shell提供了for、while、until循环语句来满足此需求。 一、for循环语句        for循环用于重复整个对象列表,依次遍历对列…

    Linux干货 2016-08-18
  • Linux下各类颜色文件的意思

    Linux下各类颜色文件的意思   Linux系统对在终端下的各文件进行了颜色区分,了解各个颜色文件对应的意思对是学习Linux必须要掌握的。Linux文件颜色如下图: 1、白色:表示普通文件(-) 2、蓝色:表示目录(d) 3、绿色:表示可执行文件(-) 4、红色:表示压缩文件(-) 5、浅蓝色:链接文件(l) 6、黄色:表示设备文件(c) 7、…

    Linux干货 2016-10-18
  • Windows 10 VS. Linux

    原文出处: Linux中国 – zpl1025   前阵子 Windows 10 好像占据了绝大部分头条,甚至在一些Linux圈里也是一样。最具代表性的是 betanews.com 的 Brian Fagioli 说 Windows 10 已经为 Linux 桌面系统敲响了丧钟,Microsoft 如今宣布将为忠实的…

    系统运维 2015-03-24
  • linux作业管理和任务计划

    一、作业管理 Linux 的作业控制     前台作业:通过终端启动,且启动后一直占据终端;     后台作业:可通过终端启动,但启动后即转入后台运行(释放终端) 如何让作业运行于后台? (1)  运行中的作业: Ctrl+z (2)&nb…

    Linux干货 2016-09-13
  • linux bash环境变量简单总结

    一.环境变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 …

    Linux干货 2015-09-14
  • ansible

    运维工具介绍 Ansible Ansible优点:  Agentless       (去中心化)  Stupied Simple (上手简单,学习曲线平滑)  SSH by default (安全,无需安装客户端)  YAML no code,定制剧本 (语法简单,维护方便) 自动工具衍…

    Linux干货 2017-05-23