shell统计网站访问情况

简介:

  根据服务器日志信息,用shell命令来统计用户对不同网站域名的访问次数并排序。

      shell命令从记录中可以收集信息,并统计计数的有uniq 、数组等,在此我们采用awk的关系数组来对日志中的不同的网站域名做计数。数组在awk中被称为关系数组,它的下标既可以是整数也可以是字符或字符串或非连续整数。下标通常被称作键(key)并与对应数组元素的值相关联。数组元素和对应的值散乱地存储在awk程序表中,所以将数组元素的值打印出来的时候内容也是无须的。关系数组根据上下文环境初始化元素为数字0或空字符串。awk中数组用来做计数还要用到特殊for循环(当下标为字符串时不能用for循环来遍历数组,此时for循环把下标作为键来查找与之关联的值)。

      1、整数作为数组的下标

(1)普通循环命令

              1

             说明:当输入行匹配到“john”就为数组name赋一个值,NR为记录号。在每一行匹配到John  时,name数组就赋一个值,不匹配的话就赋一个空值,因此打印出来的时候只有匹配的记录号1和10有John,其他行为空。

            (2)特殊for循环

             1

说明:特殊for循环遍历数组,只打印相应下标的元素的值,可以看到结果是无序的。

 

2、字符串作为数组的下标

如果是字符串作为数组的下标,则必须用引号把字符串引起来。

1

说明:数组count包含count[“tom”]这个元素,这个数组元素的初始值为0,每次匹配到tom时,数组元素count[“tom”]的值都加1.

                   1

说明:这条awk命令首先用记录的第1个字段作为数组的下标,数组的下标随第一个字段的变化二变化,所以数组count的第一个下标是tom,二count[“tom”] 中保存的值是1,当在第1个字段中再次出现tom时,count[“tom”]的值将被加1,于是它目前的值是2,其他mary,sean等和tom一样计数。

                   来看一个生产中的实例

                 QQ截图未命名





本文转自 baiying 51CTO博客,原文链接:http://blog.51cto.com/baiying/469291,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 Shell Linux
【Shell 命令集合 文档编辑】Linux 文本统计 wc命令使用指南
【Shell 命令集合 文档编辑】Linux 文本统计 wc命令使用指南
139 0
|
6月前
|
Shell
Shell遍历HDFS路径统计层级目录大小
Shell遍历HDFS路径统计层级目录大小
524 0
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
3月前
|
Shell Linux Perl
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
|
6月前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
92 0
|
6月前
|
Shell Linux C语言
【Shell 命令集合 文件管理】Linux 创建一个空的文件或者更新文件的访问和修改时间戳 touch命令使用指南
【Shell 命令集合 文件管理】Linux 创建一个空的文件或者更新文件的访问和修改时间戳 touch命令使用指南
80 0
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
128 0
|
6月前
|
安全 Shell 网络安全
上传Joomal网站的Shell
上传Joomal网站的Shell
48 0
|
12月前
|
Shell Linux C++
shell脚本 | C/C++ 统计文件单词个数
shell脚本 | C/C++ 统计文件单词个数
|
12月前
|
Shell 索引 Perl
通过shell脚本统计elasticsearch indices每天的数量以及大小
通过shell脚本统计elasticsearch indices每天的数量以及大小
57 0