2019-05-05浏览量:258

强大的文本搜索工具,就选Grep!

Grep

Grep是Global search Regular Expression and Print out the line的缩写。grep是Linux中最常使用的命令之一,是一个功能强大的文本搜索工具,它可以使用正则表达式搜索文本并打印匹配行。

 

——Grep常见的用法说明,小锐你能简单介绍下吗?

——本节课讲解grep的一些常用参数及其命令的用法,认真听讲哟~

 

 

一、grep的一些常用参数

-e,搜索字符并打印匹配行

-E,采用扩展的正则表示式来进行匹配操作

-f,从文件中提取关键字

-i,忽略大小写进行匹配

-w,只打印精确匹配单词的行

-v,反检索,只打印不匹配的行

 

-m,匹配NUM个后停止

-n,打印匹配行的行号

-H,打印每个匹配项的文件名

-h,禁止在输出时使用前缀文件名

-o,仅打印匹配到的部分

-R, -r,递归搜索,对目录下的所有文件(包括子目录)进行 grep

-L,只打印不包含匹配项的文件名

-l,只打印包含匹配项的文件名

-c,每个文件只打印匹配行的计数

--color 标记匹配颜色

 

-B,同时打印匹配行及前num行

-A,同时打印匹配行及后num行

-C,打印打印匹配行及前后num行

-NUM,同-C 

 

 

二、grep 命令的用法

grep 的语法格式为:

grep   [options]   PATTERN  [FILE]

 

(一)让我们通过例子来学习grep各个参数在实际操作中的作用。

示例文件:

 

 

1、 grep命令最简单的用法 :grep  PATTERN  file1  file2 …

例如,在文件中搜索"lisi",命令会返回一个包含"lisi"的文本行

 

 

2、如果想要打印除lisi之外的所有行,可以选择使用-v选项。

 

 

3、默认情况下,grep命令是区分大小写的,但是-i选项可以让grep忽略字符大小写进行匹配。

 

 

4、只想匹配"lisi"不想输出"lisiqi" ?选择-w选项就可以让grep仅输出与"lisi"完全匹配的单词行。

 

 

5、grep命令查询多个文件时,在匹配行前面会显示文件名,加上-h选项后,grep命令将不再显示文件名。

 

 

6、-n选项用于列出匹配行的行号。搜索多个文件时,会显示文件名及每行的行号。

 

 

7、-c 选项用于统计文件中包含匹配字符串"lisi"的行

 
 

数。

 

 

8、匹配内容不止一个的情况下,可以使用多个-e选项。

 

 

或者将需要匹配的内容放在list.txt中,用-f选项从文件中提取关键字。

 

 

9、grep命令通常只对当前目录下的文件进行搜索。如果需要对当前目录和子目录进行搜索,可以使用-r选项。

 

 

(二)其实grep各个选项除了可以单独使用外,也可以和别的选项结合使用。

10.1标记匹配颜色(--color),打印出匹配文本"wangwu"所在行和之后的2行(-A 2):

 


10.2标记匹配颜色(--color),打印出匹配文本"wangwu"所在行和之前的2行(-B 2):

 

 

10.3标记匹配颜色(--color),打印出匹配文本"wangwu"所在行及前后2行的内容(-C 2或-2):

 

 

11、采用正则表达式进行匹配(-E),且只输出文件中匹配到的部分(-o)。

 

 

12、匹配到1个"lisi"后停止匹配(-m 1),并输出匹配行的行号(-n)。

 

 

13、输出与文件list.txt内容不匹配的行(-v、-f),不显示文件名(-h)。

 

 

grep命令常见用法的说明,赶紧收藏!

今日份课堂落下帷幕,

下一期我们不见不散~


下一篇

版权所有 上海锐翌生物科技有限公司 沪ICP备16022951号