linux系统中,利用grep打印匹配的上下几行
grep -w 只匹配当前字符串
grep -n 输出结果显示行号
如果在只是想匹配模式的上下几行,grep可以实现。
$grep -5 'parttern' inputfile //打印匹配行的前后5行
$grep -C 5 'parttern' inputfile //打印匹配行的前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
it动力测试如下:
查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面三行
tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 '192.168.0.10'
a=grep -w -n glscrysubdef crtdb1.txt | cut -d ':' -f1
b=grep -w -n -A 350 glscrysubdef crtdb1.txt | grep "索引4" | head -1 | cut -d '-' -f1
num=$b-$a+1
grep -w -A $num glstrndef crtdb1.txt | grep ^[a-z] | awk '{print $1}'
grep -w -A 150 glstrndef crtdb1.txt | grep ^[a-z] | awk '{print $1}'
grep -w 只匹配当前字符串
grep -n 输出结果显示行号
如果在只是想匹配模式的上下几行,grep可以实现。
$grep -5 'parttern' inputfile //打印匹配行的前后5行
$grep -C 5 'parttern' inputfile //打印匹配行的前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
it动力测试如下:
查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面三行
tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 '192.168.0.10'
a=grep -w -n glscrysubdef crtdb1.txt | cut -d ':' -f1
b=grep -w -n -A 350 glscrysubdef crtdb1.txt | grep "索引4" | head -1 | cut -d '-' -f1
num=$b-$a+1
grep -w -A $num glstrndef crtdb1.txt | grep ^[a-z] | awk '{print $1}'
grep -w -A 150 glstrndef crtdb1.txt | grep ^[a-z] | awk '{print $1}'