grep 命令

grep 同时满足多个关键字和满足任意关键字
① grep -E "word1|word2|word3"   file.txt
   满足任意条件(word1、word2和word3之一)将匹配。
② grep word1 file.txt | grep word2 |grep word3
   必须同时满足三个条件(word1、word2和word3)才匹配。
 
多条件查询
grep '6313296' /app/tradematch3.1/tomcat-tsm_interface/logs/catalina.out |grep '【TMFront】TransferReply ' >> /home/pso/test22.txt
单条件查询
cat /home/pso/temp/catalina.2015-12-19.out | grep '6208968' >> /home/pso/test19.txt
cat catalina.2015-12-26.out |grep '951454'
日志里截取matchid
cat catalina.out |grep "InvestReply" |grep "matchId" |awk -F"[:,]" '{ print $7}' |sed -e '/"/s/"//g' $7
cat catalina.out |grep "TransferReply" |grep "matchId" |awk -F"[:,]" '{ print $7}' |sed -e '/"/s/"//g' $7
 
但条件过滤
tail -f /app/tomcat7/logs/catalina.out |grep 'INFO TaskMailServiceImpl'
多条件过滤(满足任一条件即可)
tail -f  /app/tomcat7/logs/catalina.out |grep -E 'TaskMailServiceImpl|VoteMailServiceImpl'
 
前50行
grep -A 50 "认购申请:【test292053375918】" /app/tomcat7/logs/catalina.out
后100行
grep -B 100 "认购申请:【test292053375918】" /app/tomcat7/logs/catalina.out
同时显示前50行,后100行
grep -A 50 -B 100 "认购申请:【test292053375918】" /app/tomcat7/logs/catalina.out
 
 

要统计一个字符串出现的次数,这里现提供自己常用两种方法:

1. 使用vim统计

用vim打开目标文件,在命令模式下,输入

1
:%s/objStr//gn

即可

2. 使用grep:

1
grep -o objStr  filename|wc -l

如果是多个字符串出现次数,可使用:

1
grep -o ‘objStr1\|objStr2'  filename|wc -l  #直接用\| 链接起来即可
posted @ 2017-08-11 14:31  若风随雨  阅读(778)  评论(0编辑  收藏  举报