青蛙的博客

纯属学习,娱乐

sheel之grep命令

简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep常用用法

复制代码
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

具体就不一一举例了,可自行尝试。用的较多的可能是 grep -n '搜索字符串' filename;

之前很少用color,命令,这次主要想说这个--color,感觉很骚气,grep --color  '搜索字符串' filename;


需要注意的是,这个不能和管道命令一起用,用了,--color就不起作用了,如:grep --color "test" test.log|more

这样写,不会有任何颜色效果。

后来在网上找到可以使用的方法了,命令如下

grep --color=always -n 'error' test.log|more,感谢网上雷锋!大笑;

通常通过 grep -n 'error' test.log查询,只能过滤一层,有时数据量太多,还是无法尽快锁定到我们想要检索的内容;这时想要多重过滤,可以使用另一个 命令,cat,之前我还一直以为cat命令没啥用,感觉使用命令cat test.log|grep -n 'error'|more,还不如直接使用grep 命令了,干嘛还这么复杂。现在觉得才知道 存在即是道理。

cat test.log | grep -n 'error' | grep -n 'other'|more;

这样就会在过滤一层的基础上再过滤,如此查询出来的内容会更接近我们想要检索的内容了

阅读更多
上一篇dubbo历程之初识
下一篇doubbo学习
想对作者说点什么? 我来说一句

java执行Sheel命令

2014年08月12日 3KB 下载

Sheel学习---2

Shell

qq_15539917 qq_15539917

2017-10-31 15:25:02

阅读数:54

命令grep的使用方法

2008年01月12日 368KB 下载

没有更多推荐了,返回首页

关闭
关闭