1 查看关键机字范围行

#grep -A 5 ‘parttern’ filename //打印匹配行的后5行
#grep -B 5 ‘parttern’ filename //打印匹配行的前5行
#grep -C 5 ‘parttern’ filename //打印匹配行的前后5行
#grep -5 ‘parttern’ filename //打印匹配行的前后5行

其他相关
#tail -n 5 filename 查看文件最后5行内容
#head -n 5 filename 查看文件前5行内容
sed -n ‘5,10p’ 查看文件5-10行内容

2、grep 或操作

grep ‘关键词1|关键词2’ | more

3、grep 非操作

grep -v abc input.txt | more

4、grep 转义 关键字—

cat test.log | grep “---” > test1.log g

5、grep 二进制文件 (Binary file xxx.log matches 错误)

grep -a “key” xxx.log

例子
找出 文本中 aid 的值为45的,
{“aid”:45,“path”:“attachment/Mon_1112/2_1_5728040df3ab346.jpg”}
下面三个等价
grep -o -E ‘aid":[1-9]’ tmp.txt
cat kv.txt | grep -o -e 'aid":[1-9]
’ | awk -F : ‘{print $2}’ | more
cat kv.txt | grep -o -e ‘aid":[1-9]*’ | cut -d ‘:’ -f 1,2 | more

注:grep -o 仅匹配”之意。光用它不够,配合 -E 选项使用扩展正则表达式则威力巨大

grep 或操作结合正则表达式 grep -E grep -E ‘pattern1|pattern2’ filename
或者用 grep -e pattern1 -e pattern2 filename
grep 并操作结合正则表达式 grep -E ‘pattern1.*pattern2’ filename

Logo

更多推荐