【Linux命令】 grep命令基本用法

>>2020,微服务装逼指南

Linux基本命令 

grep命令常见用法


grep命令可以说是Linux下面最常用的文本处理工具了,那么究竟我们可以用grep命令做什么了?首先我们想一想在windows下是我们是如何在整个文本中寻找我们所需的内容的,比如说我想在grep.txt文档中寻找字符串"hello",肯定不是一行一行用眼睛去扫描,我们只需要打开该文件,使用快捷键Ctrl+F然后在弹出的小框中输入我们要查的”hello”,就能迅速的定位到”hello”字符串了。好了,现在我们可以说说grep了,其实很简单,它的功能和前面所讲windows下的组合键Ctrl+F类似,都是方便我们用来搜索文本的。 


既然grep这么有用,那么我们现在一起来学习它,首先准备一个测试文件用来说明grep的用法,如下图所示,各位看官就不要纠结文件内容,内容没有任何意义,纯属只是用来验证grep用法的。

【Linux命令】     grep命令基本用法

Linux下基本上每个命令都有很多参数,grep也不例外,不要求每个参数都了如指掌,我们只需掌握几个常见的参数就足够应付日常工作所需了,现在一起来看看grep究竟有哪些参数以及这些参数的用途。

【Linux命令】     grep命令基本用法


1
不加参数

grep最简单的用法就是不加任何参数,比如说,我们想要在grep.txt文件中找到含有字符串"hello"的所有行,那么我们可以

【Linux命令】     grep命令基本用法

2
-n

-n参数可以让你在显示所匹配到的内容时同时显示行号还是在grep.txt文件中找到含有字符串"hello"的所有行 ,这次我们加了-nc参数,看看和上面的输出有什么不同

【Linux命令】     grep命令基本用法

3
-i

可以使用-i选项在匹配时忽略大小写,比如说

【Linux命令】     grep命令基本用法

4
--color 

看看上面的输出,还是觉得有点不太爽,输出都是白色字体,我们要找的hello到底在一行的什么位置还是需要我们用眼睛费力的去看,其实,grep提供了一个参数完全可以解放我们这种不必要的劳力,就是--color 参数,不过需要注意的一点是,这是个长选项参数,Linux命令的参数分为长选项参数 和短选项参数,长选项参数前是2个-。好了,还是用上面的文件做个测试看看。

【Linux命令】     grep命令基本用法

5
-o

在前面的实例中,包含匹配词的行整行都会被打印出来,但是有时候我们并不需要整行打印,只是想看到被匹配的关键词,这时候就需要用到-o 选项了,如下所示。

【Linux命令】     grep命令基本用法

6
-A / -B / -C

某些情况下,我们不仅需要显示关键词匹配的行,还需要显示所匹配行的前后行信息,这时候就需要用到-A/-B/-C这三个参数了,

其中:  -A n(n是一个整数)--->表示将匹配行的后n行也显示

           -B n(n是一个整数)--->表示将匹配行的前n行页显示 

           -C n(n是一个整数)--->表示将匹配行的后n行也显示  

看的有点晕?没关系,看看下面的例子就明白了。为了方便阅读,将测试所需的文件内容在此处再贴出来。

【Linux命令】     grep命令基本用法【Linux命令】     grep命令基本用法

7
-v

有时候我们需要反向查找,也就是说,查找的行是不含所给出的匹配词的,-v参数就是实现这个功能的,还是看例子:找出grep.txt文件中不含"hello"的行

【Linux命令】     grep命令基本用法

【Linux命令】     grep命令基本用法


总结 

上面的用法是grep最常见的用法,grep还有很多参数,我们在用到的时候上网查资料会用即可。此外,grep还支持正则表达式,grep和正则表达式结合起来才能发挥它最大的威力,这个后面会用几篇文章讲述,此处不再阐述。