Linux grep从文件中查询关键词并返回其前后n行
一、需求
二、实现
1、返回匹配关键词的前后n行
grep -10 'test' test.txt
grep -C 10 'test' test.txt
2、返回匹配字段"test123"行的前10行
grep -B 10 'test' test.txt
3、返回匹配字段"test123"行的后10行
grep -A 10 'test' test.txt
4、返回的匹配关键词的前后n行的内容写入文件
grep -C 10 'test' test.txt > test1.txt
5、返回匹配关键词(不区分大小写)的前后n行的内容
grep -C -i 10 'test' test.txt
6、返回匹配关键词‘insert into `user`’的前后n行
grep -i -C 10 "insert into \\`user\\` values" test.txt > test1.txt
等同于cat test.txt | grep "insert into \\`user\\` values"
注意:关键词中包含linux中的特殊符号 反引号``,想要搜索`user`,需要使用\\转移反单引号,这样就可以匹配字符串`user`了
7、grep还支持正则匹配哦