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的用户组和权限(一)

    导读:本章主要内容如下       1.解释Linux的安全模型      2.解释用户账号和组群账号的目的      3.用户和组管理命令      4.理解并设置文件权限 &n…

    Linux干货 2016-08-04
  • linux如何获取帮助以及基础目录命名标准

    一、linux的命令分为两种,一种是内建命令,即包含在shell当中的,一种是外部命令,通常保存在 bin目录中。 1、对于内部命令:  通常使用 help COMMAND 2、对于外部命令:  通常使用 man command  mannul的位置/usr/share/man man的内容通常分为以下几块   1、N…

    Linux干货 2016-10-30
  • Python函数式编程指南(三):迭代器

    这一篇我们将讨论迭代器。迭代器并不是函数式编程特有的东西,但它仍然是函数式编程的一个重要的组成部分,或者说是一个重要的工具。 转载请注明原作者和原文地址:) 3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。 迭代器不能回退,只能往前进行迭代。这并…

    Linux干货 2015-03-11
  • 12.http学习与应用实现

    1、请描述一次完整的http请求处理过程; 1)建立或处理连接:客户端发送http请求报文,服务器端接收或拒绝请求; 2)接收请求:服务器端接收来自客户端对某些资源的请求; 3)处理请求:服务器端解析客户端请求报文,获取客户端请求的资源及请求方法等信息; 4)访问资源:服务器端获取客户端请求的资源; 5)构建响应报文; 6)发送响应报文; 7)日志记录; 2…

    2017-09-20
  • 马哥教育网络班22期-第2周博客作业2

    2、bash的工作特性之命令状态返回值和命令展开所涉及的内容及其示例演示 bash的基础特性:命令的执行状态结果   命令执行的状态结果:   bash通过状态返回值来输出此结果:     成功:0     失败:1-255  &…

    Linux干货 2016-08-22
  • 推荐-Corosync + Pacemaker 搭建高可用Httpd服务

    Corosync + Pacemaker 搭建高可用Httpd服务 实验描述 1.两个测试节点,分别为node5.redhat.com和node6.redhat.com地址分别为172.16.100.5和172.16.100.62.集群服务为httpd,利用nfs做共享存储,NFS地址为172.16.0.254,NFS已经共享出了一个/www/htdocs目…

    系统运维 2016-04-05