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

相关推荐

  • 第四周作业

    作业 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@cloud ~]# cp -R /etc/skel /home/tuser1 && chmod -R…

    Linux干货 2016-12-25
  • N26-博客作业-week13

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)  1)共享名为shared,工作组为magedu;  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;  3)添加samb…

    Linux干货 2017-06-15
  • 马哥教育网络班22期+第1周课程练习 忍者乱太郎喻成

    1.计算机组成:  根据冯诺依曼的计算机结构分为四大块:控制器,运算器, 存储器,输入输出设备 控制器:对其他的组件进行控制 运算器:用于处理计算工作,不控制输入和输出 储存器:用于暂时或长期存储数据 输入输出:与外界进行交互 个人延伸: 我的理解这是一个在计算机研发之前的一个理论假象, 相对现在真实的计算机体系,这个分类会比较模糊。 运算器:cp…

    Linux干货 2016-08-15
  • linux基础学习之SElinux

    1、SElinux简介 SELinux: Secure Enhanced Linux,是美国国家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中 2、…

    Linux干货 2016-09-15
  • 计划任务和周期性任务

    linux计划任务     功能:指定未来的某以特定的时间点执行一次任务     命令:at、bathc     at命令:         选项: &nbsp…

    Linux干货 2016-09-12
  • 马哥教育网络21期+第十一周练习博客(上)

    马哥教育网络21期+第十一周练习博客(上) 1、详细描述一次加密通讯的过程,结合图示最佳。 加密同性过程中使用到最重要的就是openssl     安全加密传输过程中要确保如下几个环节:     保密性:数据保密性,隐私性     完整性:…

    Linux干货 2016-09-26