grep用法

一、前言

grep是功能强大的文本处理工具,全称:global search regular expression and print out the line,grep一行一行使用正则表达式匹配文本,之后对匹配到的文本整行显示(除非使用特定的选项取反,如 grep -v)。

二、grep用法

grep命令用法:        

   grep [OPTIONS] PATTERN [FILE…]

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

为了使用grep用法,我们不得不先简单学习下正则表达式

2.1、正则表达式用法

首先,我们要明白什么是正则表达式?所谓正则表达式就是使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。正则表达式由一些普通字符和元字符组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。

2.1.1、元字符用法

a:字符匹配

. 匹配任意单个字符 例如:grep roo. /etc/passwd
[] 匹配指定范围内的任意单个字符 例如:grep [ro] /etc/passwd
[^] 取反 例如:grep [^ro] /etc/passwd

b:次数匹配

* 匹配任意次数 例如: grep roo* /etc/passwd
\? 匹配其前面字符出现0或者1次 例如: grep roo\? /etc/passwd
\{m\} 匹配其前面字符出现m次 例如: grep ro\{2\} /etc/passwd
\{m,\} 匹配其前面字符最少出现m次 例如: grep ro\{2,\} /etc/passwd
\{m,n\} 匹配其前面字符最少出现m次,最多n次 例如: grep ro\{2,3\} /etc/passwd
\{0,n\} 匹配其前面字符最多n次 例如: grep ro\{0,2\} /etc/passwd

c:位置锚定匹配

^ 行首锚定符 例如:grep ^root /etc/passwd
$ 行尾锚定符 例如:grep shell$ /etc/passwd
\< 词首锚定符 例如:grep \<root /etc/passwd
\> 词尾锚定符 例如:grep shell\> /etc/passwd

d:分组

\(\) 分组,分组中模式匹配的内容可被引用 例如:grep \(root\).*\1 /etc/passwd

e:引用

\# 引用分组中第#个内容(#为数字) 例如:grep \(root\).*\1 /etc/passwd

2.2、grep常用的选项

-v 反向选择 例如:grep -v root /etc/passwd
-o 仅显示匹配的字符串本身,而非所在行 例如:grep -o root /etc/passwd
-i 忽略大小写 例如:grep -i root /etc/passwd
-E 支持使用扩展正则表达式 例如:grep -E (root).*\1 /etc/passwd
-A 后面n行 例如:grep -A 3 root /etc/passwd
-B 前面n行 例如:grep -B 3 mysql /etc/passwd
-C 前后各n行 例如:grep -C 3 mysql /etc/passwd

三、总结

grep用法其实并不难,难在正则表达式的使用,grep是非常强大的文本搜索工具,熟练使用grep工具有利于我们后续对文本文件的处理。

        

   

    



原创文章,作者:成吉思汗,如若转载,请注明出处:http://www.178linux.com/7190

赞 (0)
成吉思汗成吉思汗
上一篇 2015-08-24 11:14
下一篇 2015-08-24 18:28

相关推荐

  • 文本编辑工具vim

                             vim +#: 打开文件直接处在#行 +/PATTERN:打开文件直接处在第一次匹配到行 vim + file :打开文件直接处在最后行 vim –b file :以二进制打开文件…

    Linux干货 2016-08-12
  • Nginx基础

    Nginx基础 目录 Nginx概述 Nginx的优点 Nginx相比Apache 编译安装Nginx Nginx配置文件讲解 ngx_http_access_module模块 ngx_http_auth_basic_module模块 ngx_http_log_module模块 ngx_http_stub_status_module模块 Nginx概述 En…

    Linux干货 2016-11-01
  • 网络基础知识

    网络基础知识: 网络设备 TCP/IP协议 ARP协议 网络设备:     HUB集线器: 工作在物理层,没有学习能力,作用在于把各种节点汇聚在以它为中心的节点上,同时也有传输数据的作用,由于没有学习能力,只能以广播的形式将数据发送给与它相连的所有节点。 特点:共享带宽,半双工     &…

    Linux干货 2016-09-02
  • MySQL系列之一键安装脚本—-单实例/多实例

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1440414       最近在搞MySQL,由于经常测试一些东西。因此,就写了一个一键安装脚本。 脚本用途: 用于在…

    Linux干货 2016-08-15
  • 计算机的组成及功能

    计算机的组成及功能 计算机由CPU、存储器、输入设备、输出设备等部件组成。 CPU:为计算机的中央处理器,是计算机的核心部分,由运算器和控制器组成。 运算器:CPU中用于进行算术运算和逻辑运算的部件。 控制器:整个CPU的指挥中心,控制程序中指令读取、解析并产生相应的操作控制信息保证各程序的有序执行。 存储器:计算机中用来存储数据、程序等信息的部件,并在需要…

    Linux干货 2017-07-02