grep命令

grep命令grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;grep搜索的结果被送到屏幕,不影响原文件内容。Unix的grep家族包括grep、egrep和fgrep。egrep表示扩展的grep,相比grep支持更多的元字符,"grep -E"相当于egrep;fgrep不支持元字符,但是搜索速度更快。

用法: grep [OPTIONS] PATTERN [FILE…]

    grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]

常用选项:

-v:显示不能被pattern匹配到的行

例如:不显示/etc/fstab文件的注释信息:

~]# grep -v "^#" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                    ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                 swap    default

-i:忽略字符大小写

-n:显示匹配行号

-c:统计匹配行数

-o:仅显示匹配到的字符串

例如:查找/etc/fstab文件中的“defaults”关键字

~]# grep -o "defaults" /etc/fstab
defaults
defaults
defaults
defaults
defaults
defaults

-A NUM:显示后NUM行

例如:显示匹配到“ext4”的后两行

~]# grep -n -A2 "ext4" /etc/fstab
9:UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
10:UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
11-UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0
12-tmpfs                   /dev/shm              tmpfs   defaults        0 0

-B NUM:显示前NUM行

-C NUM:前后各NUM行

例如:显示匹配到“ext4”的前后各一行

~]# grep -n -C1 "ext4" /etc/fstab
8-#
9:UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
10:UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
11-UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0

-q:不显示任何信息

-w:显示匹配到字符串的行

例如:查找/etc/fstab文件中有“defaults”关键字的行

~]# grep -w "defaults" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0
tmpfs                   /dev/shm              tmpfs   defaults        0 0
sysfs                   /sys                  sysfs   defaults        0 0
proc                    /proc                 proc    defaults        0 0

-e:实现多个选项的逻辑“或”关系

例如:在/etc/fstab文件中查找“ext4”或者“swap”关键字

~]# grep -e "ext4" -e "swap" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0

          -E:使用扩展正则表达式,相当于egrep

原创文章,作者:yilianrenzhendemenbi,如若转载,请注明出处:http://www.178linux.com/30792

(0)
yilianrenzhendemenbiyilianrenzhendemenbi
上一篇 2016-08-08 16:11
下一篇 2016-08-08 16:11

相关推荐

  • Linux终端类型

    适用对象:本文适用于初学Linux以及有志于学习Linux的朋友们。   一、         什么是终端 计算机体系中,终端主要是指与计算机连接,并可以与用户(人类)进行交互的设备。 二、      &nbs…

    Linux干货 2016-10-14
  • 用户和组相关的配置文件总结

    前言: 在用户管理,组管理过程中,最基本的四个文件就是/etc下面的passwd,shadow,group,gshadow。他们记录了与用户和组相关的信息。是学习和深入了解用户,组的基本。 除了这些基本的配置文件 还有与初始化相关的配置文件。定义用户添加时初始状态的配置文件/etc/default/useradd。 以及用户家目录的内容文件参考目录/etc/…

    Linux干货 2016-10-24
  • class13 shell编程(五)软件包管理(三)

    一、shell编程(五) 位置变量补充 shift (踢掉参数) shift                #! /bin/bashecho "1st arg …

    Linux干货 2016-08-24
  • 1017练习题

    1017练习题 作业 10月17日 柴震 1.生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 hwclock 查看硬件是否准确,如准确无误,可以使用hwclock -s以硬件时间为准。 或者使用ntpdate命令指定一台NTP服务器,进行同步。 2.生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在…

    Linux干货 2016-10-18
  • Linux终端类型

    前言 终端是一个很重要的外设,用过终端设备的人都知道如果设备类型不对就会有乱字符,也可用仿真终端软件如netterm试验一下,Linux的终端信息放在 /usr/share/terminfo下,在这个目录的子目录v下就有许多的如vt100,vt102,vt200等,看一下就知道了。 终端类型的区别与概念 1、 pty(虚拟终端): 但是如果我们远程telne…

    Linux干货 2016-10-14
  • 一起学DHCP系列(三)理解、APIPA

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162407      这是《一起学DHCP》系列的第三节。      …

    Linux干货 2015-03-25