-i 忽略大小写
-c 统计计数
-v 反转匹配
-l 列出匹配的文件名称
-L 列出不匹配的文件名称
-n 输出匹配的行号
-r 在指定目录下搜索
--color=auto 关键字部分加上颜色
grep -i 'hello' test.txt 在test.txt文件中搜索hello关键字,忽略大小写
grep -ril ‘hello’ /home/web 在指定目录下搜索含有关键字hello的文件
ps -ef|grep php 查找指定进程
ps -ef|grep -c java 查找指定进程个数
tail -f xxx.log | grep xxx 过滤后从日志尾部开始输出
tail -f xxx.log | grep --line-buffer xxx | grep --line-buffer yyy 多次过滤后从日志尾部开始输出
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
grep '# Time:' 201904_slow.log | wc -l 统计某个关键字出现的次数
grep -E '# Query_time:' slow.log | awk -F ' ' '{print $3}' | awk '{sum+=$1} END {print sum}' 匹配# Query_time:所在的行,然后以空格分隔输出第三列(即query_time:后的数值),最后总和输出。
grep -E 'select' 201902_slow.log | awk -F 'from|where' '{print $2}' | awk '!a[$0]++' > 201902_table.txt 从慢查询日志中找出所有表名,写入table.txt文件。
grep -B 2 'wx_user' 201905_slow.log | grep -E '# Query_time:' | awk -F ' ' '{print $3}' | awk '{sum+=$1} END {print sum}' 在日志文件中匹配关键字,找出其所在行及其前两行的内容,然后再匹配# Query_time:所在的行,然后进行分列,对数值列进行求和。
grep -B 2 'app_sap_meeting' 201905_slow.log | grep -E '# Query_time:' | awk -F ' ' '{print $3}' | awk '{if ($1>5) print $1}' |sort -nr; 输出执行时间大于5秒的,并反向排序
grep '"time_local":"11/Jul/2019:10:[0-5][0-9]' app-access.log.20190712 | awk -F ',' '{print$3,$8,$4}' > 20190711_am10_request.log access日志分析
grep -E '"status":50[2|3|4|5]' app-access.log.20190712 | grep '"time_local":"11/Jul/2019:10:[0-5][0-9]' | awk -F ',' '{print$3,$6,$4,$8}' |sort -nr > 20190711_am10_502.log error日志分析
grep -B 2 'app_sap_meeting' 201905_slow.log | grep -E '# Query_time:' | awk -F ' ' '{print $3}' | awk '{if ($1>5) print $1}' |sort -nr;
grep -A 2 '29.730785' 201905_slow.log;
awk 'program' input files
awk 在开始处理文件之前执行 BEGIN 块,在处理完输入文件之后执行 END 块。
-F 指定分割符
awk
-F"
:"
'{ print $1 }'
/etc/passwd
awk '$3>0 {print $1,$2*$3}' test1.txt test2.txt
awk 'BEGIN {count=0;print "user count is ",count} {count++;print $0} END{print "user count is ",count}' test.log
a:追加 向匹配行后面插入内容
c:更改 更改匹配行的内容
i:插入 向匹配行前插入内容
d:删除 删除匹配的内容
s:替换 替换掉匹配的内容
sed '3ahello' 1.txt #向第三行后面添加hello,3表示行号
sed '/123/ahello' 1.txt #向内容123后面添加hello