linux下grep命令的使用实例
#多文件查询
grep leo logs.log logs_back.log
#查找即包含leo又包含li的行
grep leo logs.log | grep li
#查找匹配leo或者匹配li的行
grep leo | li logs.log
#显示匹配行前2行
grep leo logs.log -a2
#显示匹配行后2行
grep leo logs.log -b2
#显示匹配行前后2行
grep leo logs.log -c2
#不区分大小写
grep -i leo logs.log
#使用正则表达式
grep -e '[a-z]\{5\}' logs.log
#查找不包含leo的行
grep -v leo logs.log
#统计包含leo的行数
grep -c leo logs.log
#遍历当前目录及所有子目录查找匹配leo的行
grep -r leo .
#在当前目录及所有子目录查找所有java文件中查找leo
grep -r leo . --include "*.java"
#查找并输出到指定文件
grep leo logs.log > result.log
#查找以leo开头的行
grep ^leo logs.log
#查找以leo结尾的行
grep leo$ logs.log
#查找空行
grep ^$ logs.log
#在/data/web目录下,递归所有扩展名为.jsp的文件,排除 .git,vendor,log 这三个目录,查找所有包含字符串'link_params'的文件及文件内容(不区分大小写),并展示相应行的上下5行内容,以及行号
grep -rni -c5 'link_params' --include '*.jsp' --exclude-dir={.git,vendor,log} /data/web