awk多个数组的使用
#!/bin/bash
awk 'BEGIN{printf "%-60s %-10s %-10s %-10s\n","url","count","time","avg_time"}
$NF ~ /^[-]/{
c1[$]+=$NF
c2[$]++}
END{
for(b in c2) {
for(a in c1)
if(a == b)
printf "%-60s %-10s %-10s %-10s\n", a,c2[b],c1[a],c1[a]/c2[b]
continue
}
}' log.txt
~
注释:
c1统计每个url对应的总响应时间
c2统计每个url对应的总请求个数
每次循环,外围c2的值是不变的,内围c1处于变化中,当c1的url和c2相等时,则输出对应数据,同时跳出此次内循环,开启下一次新循环
获取每个url的平均响应时间
日志格式如下:
2014-06-20 16:47:43 [ resin-port-18057-51:333230 ] - [ INFO ] [url] http://abc.com/list 254
2014-06-20 16:47:43 [ resin-port-18057-51:333230 ] - [ INFO ] [url] http://abc.com/list 254
2014-06-20 16:47:43 [ resin-port-18057-51:333230 ] - [ INFO ] [url] http://abc.com/list 254
2014-06-20 16:47:43 [ resin-port-18057-51:333230 ] - [ INFO ] [url] http://abc.com/list 254
执行效果如下:
url count time avg_time
http://a.9tong.com/plat/active.do 185 31 0.167568
http://a.9tong.com/product/updatePic.do 80 16465 205.812
http://a.9tong.com/product/shopList.do 1133 51663 45.5984
awk多个数组的使用的更多相关文章
- 如何利用shell或者awk二维数组实现9x9乘法表?
第一种:利用shell for循环来实现. for i in `seq 1 9`do for j in `seq 1 9` do if [ $i -ge $j ] then echo -en &quo ...
- awk详解 数组
第1章 awk命令基础 1.1 awk命令执行过程 1.如果BEGIN 区块存在,awk执行它指定的动作. 2.awk从输入文件中读取一行,称为一条输入记录.如果输入文件省略,将从标准输入读取 3.a ...
- awk运用三维数组进行插值获得任意经纬度处的水层沉积层地壳厚度
awk三维数组与插值 目的:给定经纬度,获得该点地下的冰层水层沉积层和地壳的厚度 实现:awk一行命令 下载Crust1.0模型 该数据集的详细介绍见官网. 解压后有几个文件:crust1.vp,cr ...
- [2012-06-18]awk利用关联数组合并记录
问题源起:http://bbs.chinaunix.net/thread-3753784-1-1.html 代码如下 {% capture text %} $awk '{if(!a[$1]){a[$1 ...
- awk操作数组注意几点
awk的数组跟其他程序设计语言的数组有所不同:1.可以直接在awk中定义数组:2.数组元素的初始值为0或空字符串,除非他们被显示的指定初始化:3.数组可以自动扩展:4.都是关联数组,数字下标也会转成字 ...
- 【译】 AWK教程指南 5AWK中的数组
awk程序中允许使用字符串当做数组的下标(index).利用这个特色十分有助于资料统计工作.(使用字符串当下标的数组称为Associative Array) 首先建立一个数据文件,并取名为 reg.d ...
- 【转】awk数组操作
转自:http://blog.csdn.net/wangran51/article/details/9168361 用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算 ...
- linux awk数组相关操作介绍
用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算又会怎么样呢.我们先看下以下的一些介绍,结合样例我们会解说下它的不同之处.在 awk 中数组叫做关联数组(assoc ...
- Linux shell awk数组使用
awk中使用数组 一.数组格式 数组是一个包含一系列元素的表. 格式如下: abc[1]="xiaohong" abc[2]="xiaolan" ...
随机推荐
- Python入门-----介绍
摘要:Python语言的特点 ----->优雅.明确.简单 一.Python适合的领域 web网站和各种网络服务 系统工具和脚本 作为“胶水”语言,把其他语言开发的模块包装起来方便使用 二.Py ...
- pubwin数据云备份
由于pubwin自带的异地备份一直不好用,并且pubwin自带的37分钟备份也不方便手动备份,考虑用python 与写一个基于酷盘的pubwin数据备份工具(本来想基于百度云的,发现百度云用的人太多, ...
- Asp.Net 控件radio 的简单使用
js: <script type="text/javascript"> function ok() { document.getElementById("tx ...
- Http Authentication Java
http://docs.oracle.com/javase/7/docs/technotes/guides/net/http-auth.html Http Authentication Overvie ...
- cf D. Pair of Numbers
http://codeforces.com/contest/359/problem/D 题意:给你n个数,然后找出在[l,r]中有一个数a[j],l<=j<=r,在[l,r]中的所有数都是 ...
- Js树型控件Dtree使用
dtree地址:http://destroydrop.com/javascripts/tree/ Key features Unlimited number of levels 无限级 Can be ...
- windows 挂载linux nfs
windwos挂载linux主机NFS 启动windos NFS客户端服务: 1. 打开控制面板->程序->打开或关闭windows功能->NFS客户端 勾选NFS客户端,即开启wi ...
- BZOJ2393: Cirno的完美算数教室
2393: Cirno的完美算数教室 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 138 Solved: 83[Submit][Status] D ...
- android真机调试
android开发可以使用google那个自带的模拟器来调试,不过那个模拟器启动实在太慢,太耗时了,不过,如果我们有android手机的话,我们可以直接在手机上调试,这样的话,速度就很快: 具体步骤如 ...
- Delphi 使用 Format格式话字符串的用法
找出以前的代码,写个随笔, 又想起以前的公司和以前的同事来, 希望以前的公司和同事事事顺意. //返回格式化的字符串function TfrmLedgerExVoucherLoad.GetFormat ...