正则表达式—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系统                CentOS 6启动流程: POST –> Boot Sequence(BIOS) –&…

    系统运维 2016-09-14
  • Linux yum客户端的配置及yum命令

    一、什么是yum我们在Linux系统上安装处理软件,一般是使用RPM,它是通过预先编译完成并且把软件打包为RPM文件格式后,再加以安装的一种方式,使用者只要拿到这个打包好的软件,然后将里头的文件放置到应该摆放的目录,这样就完成了安装。但是,由于有些软件是有依赖于其他软件的,当你要安装某个RPM类型的软件时,RPM会检验RPM软件数据库,它所依赖的相关软件包是…

    2017-06-11
  • VIM 详用!

    1、复制/etc/rc.d/rc.sysinit文件至/TMP目录,将/tmp/rc.sysinit文件的至少一个空白字符开头的行首加 :%s/^[[:space:]]/#/ 2、复制/boot/grub/grub.conf 至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s/[[:space:]]\+// 3、删除/tmp/…

    Linux干货 2017-08-20
  • ​学会用各种姿势备份MySQL数据库

                学会用各种姿势备份MySQL数据库 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY …

    Linux干货 2016-04-27
  • 脚本练习

    脚本练习: 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash #功能:编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,…

    Linux干货 2016-08-12
  • vim 编辑器 定时任务 bash基础

    vim 编辑器 定时任务 bash基础

    2017-10-17