grep常用场景
1、 在指定文件filename中查询给定的关键字
grep -n ‘关键字’ filename
cat filename | grep -n ‘关键字’
// -n用来显示行号
// grep -in ‘关键字’ filename 不区分大小写
2、在指定文件的指定行内查询给定的关键字
tail -n 1000 filename | grep ‘关键字’
// 在给定文件的最后1000行内查找关键字
3、 统计文件中关键字出现的次数
grep -o ‘关键字' filename | wc -l
// grep -o 'Redis' Assortmenta.log | wc -l
4、 统计包含关键字的行数
grep -c ‘关键字’ filename
// 一行中出现多次关键字,只统计一条
5、 在指定文件filename中查询给定的关键字,并列出前后(Center)4行的内容
cat filename | grep -4 ‘关键字’ 或者 cat filename | grep -C 4 ‘关键字’
// 加n会显示行号
// cat Assortmenta.log | grep -4n 'mathematics'
6、 在指定文件filename中查询给定的关键字,并列出前(Before)4行的内容
cat filename | grep -B 4 ‘关键字’
// 加n会显示行号
// cat Assortmenta.log | grep -nB 4 'mathematics'
7、在指定文件filename中查询给定的关键字,并列出后(After)4行的内容
cat filename | grep -A 4 ‘关键字’
// 加n会显示行号
// cat Assortmenta.log | grep -nA 4 'mathematics'
8、 在指定目录下递归查找
grep -rn '关键字' .
// 注意后面有一个”.”代表当前目录下;-r代表递归查找
9、 多个关键字查找行
grep ‘关键字1’ filename | grep ‘关键字2’ | grep -v ‘关键字3’
// 其中-v是去反,即查询不包含“关键字3”行
10、 将满足匹配条件的行打印到指定的文件中
grep ‘关键字’ filename > newfilename
grep ‘关键字’ filename >> newfilename
“>”覆盖内容,原来内容清空
“>>”追加内容,在原来内容的后面追加新信息