grep 命令:
grep -c ‘dqmW6n32fa正常访问’ common.log 匹配上的总行数
grep -n ‘dqmW6n32fa正常访问’ common.log 打印出每一条的行数与内容
grep -3 ‘dqmW6n32fa正常访问’ common.log 打印出匹配行的上下三行的内容
awk 命令:
常用的:
NF 当前记录里域个数
NR 到目前为止记录数
OFS 输出域分隔符
qiwen.txt:
play test awk1 111
play kkkk awk2 222
awk 用法:awk ’ pattern {action}’ file
- awk ‘/play/’ qiwen.txt 输出匹配的行
- awk ‘$4==222’ qiwen.txt 输出满足条件的行
- awk ‘{print NR,NF, 1 , 1, 1,NF}’ qiwen.txt 输出 行数、域数(几列)、第一个域、最后一个域。
- awk -F ‘awk1’ ‘{print $1,NF}’ qiwen.txt 改变切分字符 -F(默认是空格)
- awk ‘/test/{print $0"\047hool\047"}’ 在匹配的行后 接上’hool’ 这里必须要用双引号 \047表示单引号
- awk ‘BEGIN { OFS="|" }’ ‘{print $1}’ qiwen.txt BEGIN 表示在处理任意行之前进行的操作,OFS是显示的时候用指定的字符分割每一个域(默认是空格)
- awk ‘BEGIN { max=200 ;print “max=” max} {max=($4 >max ?$4:max); print $4,"Now max is "max}’ qiwen.txt 开始先给max赋值 然后用第四列比较后输出
- awk ‘{sum+=$4} ;END {print sum}’ qiwen.txt 默认sum为0 所有行处理完后 输出结果 END.
- awk ‘BEGIN { sum=200 ;print “max=” sum} {sum+=$4} ;END {print sum}’ qiwen.txt 输入个初始值求和