awk应用举例
打印磁盘INODE最大值 # df -Pi | awk ‘BEGIN{OFS=”\n”;Max=0} {if (NR!=1) {sub(/%/,””,$5); Max=$5>Max?$5:Max}} END{print Max}’ 38 打印磁盘空间最大值 df -P | awk ‘BEGIN{OFS=”\n”;Max=0} {if (NR!=1) {sub(/%/,””,$5); Max=$5>Max?$5:Max}} END{print “diskUsedSpacePercent: “Max,”diskSpaceUpdateTime: “systime()}’ diskUsedSpacePercent: 55 diskSpaceUpdateTime: 1252898042 按netstat中ESTABLISHED状态的连接数量进行排序 netstat -an 2>/dev/null | awk /ESTABLISHED/'{print $5}’ | awk -F: ‘{!ip[$(NF-1)]++} END { for (item in ip) print item,ip[item] | “sort -k2 […]
统计squid下分频道cache文件总量
统计squid下分频道cache文件总量 今天有个朋友问我怎么查看squid下分频道的cache文件总量 想了想用下面的命令实现起来方便又快捷,^_^ strings swap.state | \ awk -F”/” /^http/'{if ($3 in host) host[$3]++; else host[$3]=1}END{for (item in host) print item,host[item] | “sort -k2 -nr”}’ 同一个url是否压缩和编码的区别的话,会计算成多个。
排除Apache access log乱序日志
排除Apache access log乱序日志 由于Apache的访问日志时间记录的是访问开始时间,所以会有时间不是顺序排列的情况产生。 由于有一个特殊需求,需要把乱序的日志排除掉,今天写了个小脚本处理了一下。 转换Apache accesslog时间为时间戳,进行处理 把乱序日志打印到了badlog文件中 [root@4Aiur ~]# cat foo 58.59.23.18 – – [26/Nov/2008:11:04:05 +0800] “GET /test.html HTTP/1.1” 200 8228 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)” 58.59.23.18 – – [26/Nov/2008:11:03:05 +0800] “GET /test.html HTTP/1.1” 200 8228 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; […]