日志数据检索
1.找出log中的404和500的报错信息
less logs.txt | awk '$9==404||$9==500 {print $0}' | wc -l
less logs.txt | awk '$9~/404|500/ {print $0}' | wc -l
~为正则匹配符,~/404|500/表示正则匹配值为404或500的行
2.找出500报错时候的上下文
日志数据统计
找出访问量最高的前10的ip,统计分析
less logs.txt | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 10
less logs.txt | awk '{print $1}' | sort | uniq -c | sort -rn | awk 'NR<10 {print $0}'
sort | uniq -c是按照升序输出后去重统计重复的个数,uniq -c必须结合sort命令,因为,uniq -c 去重统计只能去重相邻的行,所以必须把重复的行先通过sort排列到一堆,然后去重.
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小升序排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
数据文件修改
找出访问量最高的前3的页面地址,借助于sed的统计分析