Linux grep命令详解

Posted jkin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux grep命令详解相关的知识,希望对你有一定的参考价值。

grep命令详解

grep命令用于在文本中查找指定的字符串。可以把grep理解为字符查找工具,grep是一个可以利用正则表达式进行全局搜索的工具,并将搜索出来的行打印出来。当然,不使用正则表达式也可以使用grep,但是grep与正则结合在一起,功能会更加强大。

我们先来看一个简单的例子,认识一下grep,我们从一个文本文件中找出包含test字符串的行:

[root@localhost shell]# cat testgrep 
zsy test
zsythink

www.zsythink.net
TEST 123
Zsys articles
grep Grep
abc
abc123abc
123zsy123
[root@localhost shell]# grep "test" testgrep 
zsy test

上例中表示使用grep命令,在文件中搜索包含"test"字符串的行。并将包含"test"字符串的行打印出来。于是,文件的第一行被打印出来,默认情况下,grep是区分大小写的,所有TEST没有被打印。

如果我们在搜索字符串的时候,想要不区分大小写,可以通过使用 -i 参数,即可在搜索时不区分大小写,示例如下:

[root@localhost shell]# grep -i "test" testgrep 
zsy test
TEST 123

由于testgrep文件行数较少,所有可以数过来时第一行和第五行包含test字符串,但是如果文件很大,成千上万行。想要指定文本哪行包含test字符串,我们可以使用 -n 参数。表示显示打印出的行在文本中的行号:

[root@localhost shell]# grep -i -n "test" testgrep 
1:zsy test
5:TEST 123

在centos6系统中,我们使用grep在文本中搜索的行被打印出来,但是匹配到的关键字没有以高亮度显示,如果我们想要高亮度显示匹配到的关键字。我们可以使用 --color选项,使用 --color 和使用 --color=auto的效果相同。在centos7中,系统默认为grep命令配置了别名,不用显式指定 --color 选项。默认高亮显示被匹配到的关键字,可以通过alais命令查看别名:

[root@localhost shell]# alias
alias cp=cp -i
alias egrep=egrep --color=auto
alias fgrep=fgrep --color=auto
alias grep=grep --color=auto
alias l.=ls -d .* --color=auto
alias ll=ls -l --color=auto
alias ls=ls --color=auto
alias mv=mv -i
alias rm=rm -i

 

以上是关于Linux grep命令详解的主要内容,如果未能解决你的问题,请参考以下文章

linux grep命令详解

linux中grep命令详解

Linux的grep命令详解

linux grep命令详解

Linux grep命令详解

linux下find和grep命令详解