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 Zsy‘s 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命令详解的主要内容,如果未能解决你的问题,请参考以下文章