linux grep命令详解
linux grep命令详解
简介:
grep( global search regular expression and print out the line : 全面搜索正则表达式并把行打印出来)是一种强大的linux文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
命令格式:
grep [option] pattern file
grep [-acinv] [--color=auto] '搜索的字符串' filename
选项与参数:
1. -a : 把binary文以text文件的方式搜索数据。
2.-c : 计算找到‘搜寻字符串’的次数。
3.-i : 忽略大小写放入不同,所以大小写视为相同。
4.-n :顺便输出行号。
5.-v : 反向选择,亦即显示出没有‘搜索字符串’内容的那一行。
6.--color = auto : 可以将找到的关键字那部分加上颜色的显示出来。
根据文件内容递归查找目录:
1 grep ' findContent ' * #在当前目录搜索带有‘findContent’行的文件 2 grep -r ' findContent' #在当前目录及其子目录下搜索' findContent '行的文件。 3 grep -l -r 'findContent' #在当前目录及其子目录搜索'findContent'行的文件,但是不显示匹配的行,只显示匹配的文件。
grep展示搜索行的前后行信息
grep -C n foo file 显示file文件里匹配foo字符串的那行及上下n行
grep n foo file 显示file文件里匹配foo字符串的那行及上下n行
grep -B n foo file 显示foo及前5行
grep -A n foo file 显示foo以及后5行
1.tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 '192.168.0.10'
匹配php错误日志中某一个字段
2,tail -100 /data/logs/php/php_error_5.3.log | grep "Memcache::get()";
查看某一个文件第5行和第10行
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行
grep与正则表达式的结合
1.匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep
例子: grep -n 't[ae]st' filename.txt ----> 匹配tast和test,表示我们想要在filename.txt文件中搜索tast和test两个单词,并且输出行号。
2.^ 表示锚定行的开始,如:'^grep'匹配所有以grep开头的行。
3.$ 表示锚定行的结束 如:’grep$‘匹配所有以grep结尾的行。
4. . 匹配一个非换行符的字符,如:'gr.p' 匹配gr后接一个任意字符,然后是p。
5. * 匹配零个或多个先前字符,如:'g*rep' 匹配所有一个或者多个g字符后紧跟rep的行。
6. .* 一起用代表任意字符
7. [^]匹配一个不在指定范围内的字符,如: [^g]oo 搜索有oo的行,但不想要oo前面有g。
使用实例:
实例1:查找进程
ps -ef | grep svn
实例2:查找指定进程个数
ps -ef | grep svn -c 或者 ps -ef | grep -c svn
实例3:从文件中读取关键字进行搜索
cat test.txt | grep -f test2.txt
实例5:从文件中查找关键词,并且对关键字加上颜色显示
grep 'test' --color test.txt
实例6:从多个文件中查找关键词
grep 'test' test1.txt test2.txt
实例7:找出以g开头的行内容
cat test.txt | grep ^u
实例8:输出非u开头的行内容
cat test.txt | grep ^[^u]
实例9:输出以hat结尾的行内容
cat test.txt | grep hat$
实例10:显示包含9或者nine字符的内容行
cat test.txt | grep -E '9|nine'
公司用法:
grep '.*三八活动*.' --color /opt/web/dianshangwuxian_t_jzt/wf/logs/emcdsthirdservice.log
原文:
1.http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html
2.http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html
3.http://www.cnblogs.com/wangkongming/p/3684905.html