精华内容
下载资源
问答
  • 说明 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。...查看日志中访问次数最多的前10个IP cat access_log |cut -d ' ' -f 1 | sort |uniq -c |

    说明

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

    当前WEB服务器中联接次数最多的ip地址

    netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr

    查看日志中访问次数最多的前10个IP

    cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 | less

    查看日志中出现100次以上的IP

    cat access_log |cut -d ' ' -f 1 | sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr | less

    查看最近访问量最高的文件

    cat access_log | tail -10000 | awk '{print $7}' | sort | uniq -c | sort -nr | less

    查看日志中访问超过100次的页面

    cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

    统计某url,一天的访问次数

    cat access_log | grep '12/Aug/2009' | grep '/images/index/e1.gif' | wc | awk '{print $1}'

    前五天的访问次数最多的网页

    cat access_log | awk '{print $7}' | uniq -c | sort -n -r | head -20

    从日志里查看该ip在干嘛

    cat access_log | grep 218.66.36.119 | awk '{print $1"\t"$7}' | sort | uniq -c | sort -nr | less

    列出传输时间超过 30 秒的文件

    cat access_log | awk '($NF > 30){print $7}' | sort -n | uniq -c | sort -nr | head -20

    列出最最耗时的页面(超过60秒的)

    cat access_log | awk '($NF > 60 && $7~/\.php/){print $7}' | sort -n | uniq -c | sort -nr | head -100

    展开全文
  • 面试题:我们知道nginx日志中会记录访问者的IP,现在我有个日志文件,需要统计其中访问量最多的前N个IP,使用Linux命令,要怎么做?日志文件 log.txt10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain....

    这是电话面试阿里时,面试官出过的一道面试题,当时不会,在这里记录一下。

    面试题:

    我们知道nginx日志中会记录访问者的IP,现在我有个日志文件,需要统计其中访问量最多的前N个IP,使用Linux命令,要怎么做?

    日志文件 log.txt

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:57+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:48:58+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T09:49:01+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.1 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.2 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.3 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.3 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.3 | 2020-12-01T10:12:42+08:00 | test.domain.com

    10.1.201.3 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.3 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.4 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.4 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.5 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:12:43+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:57+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:57+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:57+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.6 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.7 | 2020-12-01T10:39:59+08:00 | test.domain.com

    10.1.201.8 | 2020-12-01T10:40:00+08:00 | test.domain.com

    10.1.201.8 | 2020-12-01T10:40:00+08:00 | test.domain.com

    10.1.201.8 | 2020-12-01T10:42:58+08:00 | test.domain.com

    10.1.201.8 | 2020-12-01T11:05:08+08:00 | test.domain.com

    10.1.201.8 | 2020-12-01T11:08:31+08:00 | test.domain.com

    10.1.201.9 | 2020-12-01T11:09:59+08:00 | test.domain.com

    10.1.201.9 | 2020-12-01T11:14:19+08:00 | test.domain.com

    10.1.201.10 | 2020-12-01T11:16:47+08:00 | test.domain.com

    10.1.201.10 | 2020-12-01T11:16:47+08:00 | test.domain.com

    解答:

    使用 Linux 的 awk 命令来解答

    awk -F '|' '{print $1}' log.txt | sort | uniq -c | sort -nrk 1 -t ' '| head -5

    说明:

    1、awk fileName 将文件内容打印到屏幕

    2、-F '|' awk支持使用分隔符将一行分为多列,不使用的话 默认使用空格分割。注意,只支持单引号

    3、'{print $1}' 打印指定列的内容。在上一步分隔后,会按顺序给每一列做标记

    4、sort 对结果排序,默认按ASCII码排序

    5、uniq -c 统计相邻行的重复数量,结果是 3 10.1.201.10 这样的结果,前面的数字代表个数。

    将4和5合并起来 sort | uniq -c 就是统计相同的行数,并且计算出数量。

    7、sort -nrk 1 -t ' ', -n是按照数值进行又小到大排序,-r是逆序,-t ' ' 是指定分隔符,分为列,-k 1 是执行的排序按照第几列,这里表示第一列。

    这里,是将依据统计好的,这样的结果,按第一列的重复数量。命令执行到此,结果是如下这样的

    23 10.1.201.6

    19 10.1.201.1

    16 10.1.201.5

    9 10.1.201.2

    5 10.1.201.8

    5 10.1.201.3

    2 10.1.201.9

    2 10.1.201.4

    2 10.1.201.10

    1 10.1.201.7

    8、head -n 表示取结果的前n个。

    结果:

    那么上面的日志,要取最终的前5个,结果就是:

    23 10.1.201.6

    19 10.1.201.1

    16 10.1.201.5

    9 10.1.201.2

    5 10.1.201.8

    展开全文
  • 统计日志出现次数最多的前10个ip 解法 利用shell脚本即可 cat test.log | awk -F ' ' '{print $2}'| sort | uniq -c|sort -n -r|awk -F ' ' '{print $2}'|head -n 5 脚本分析: 1.cat *.log将文本内容打印到屏幕 ...

    题目
    统计日志中出现次数最多的前10个ip

    解法
    利用shell脚本即可

    cat test.log |grep -v "^$"| awk -F ' ' '{print $2}'| sort | uniq -c|sort -n -r|awk -F ' ' '{print $2}'|head -n 10
    

    脚本分析:
    1.cat *.log将文本内容打印到屏幕

    2.grep -v "^$"去除空行

    3.使用awk命令可以按照分割符将一行分割为多个列,第一列用$1表示,第二列用$2表示,依次类推
    awk -F" " '{print $2} //表示用空格作为分隔符进行分割,打印出第2列

    4.sort 进行排序,默认是按照ascii码进行排序的

    5.uniq -c 统计相邻的行的重复数量,结果是类似 3 127.13.13.13,前面的数字代码重复的行数

    sort|uniq -c //统计重复的行数

    6.sort -n是按照数值进行由小到大进行排序, -r是表示逆序,-t是指定分割符,-k是执行按照第几列进行排序

    sort -nrk 1 -t’ ’

    7.使用awk命令可以按照分割符将一行分割为多个列,第一列用$1表示,第二列用$2表示,依次类推
    awk -F" " ‘{print $2}’ //表示用空格作为分隔符进行分割,打印出第2列

    8.head -n表示取前n个
    head -10

    展开全文
  • 关键命令:cut -d" " -f1 nginx.access.log |sort |uniq -c|sort -nr |head -n3

    关键命令:

    cut -d" " -f1 nginx.access.log-20200428 |sort |uniq -c|sort -nr |head -n3

     awk '{print $1}' nginx.access.log-20200428 |sort |uniq -c|sort -nr |head -n3

    [root@centos7 ~]#cut -d" " -f1 nginx.access.log-20200428 |sort |uniq -c|sort -nr |head -n3
       5498 122.51.38.20
       2161 117.157.173.214
        953 211.159.177.120
    [root@centos7 ~]#awk '{print $1}' nginx.access.log-20200428 |sort |uniq -c|sort -nr |head -n3
       5498 122.51.38.20
       2161 117.157.173.214
        953 211.159.177.120
    

    展开全文
  • 日志文件的IP值次数进行统计 并显示次数最多的前六名 解决方法: grep -i -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" test1.txt | sort -n | uniq -c | sort -n-r | head -6 参数详情: grep命令 用于文本搜索 ...
  • 访问日志统计 用cut分割日志以空格为分隔符取第一列 使用sort排序 使用uniq -c 取重复的值得次数 使用sort倒序排序(默认为第一列) 使用head取前三行 cut -d " " -f1 access_log | sort | uniq -c |sort -nr | ...
  • Linux 系统有很多用于快速处理数据的工具如grep,awk,cut,sort,uniq,sort可以帮助我们分析网络... 接下来一步步来查看访问系统的 IP 情况 通过netstat -ntu, 找出通过 tcp 和 udp 连接服务器的 IP 地址列表 : [roo...
  • /bin/bash#author: linuxhub.org#取出nginx五分钟内的日志#Nginx日志格式:#if [ -z $1 ];then#echo “请在脚本后面加上日志文件!!”#exit 1#fi#日志文件logfile=/var/log/nginx/access.log#logfile=#开始时间#start_...
  • 在一个100G的日志文件中, 查找到访问最多IP, 获得前3个IP, 限制内存只有 1G, 不能使用MapReduce, 请使用Java实现 问题解析 既然内存只有1G 那么就不能直接使用HashMap进行统计, 可以使用MapReduce原理, 先...
  • 既然内存只有1G 那么就不能直接使用HashMap进行统计, 可以使用MapReduce原理, 先切片, 通过Hash码进行分片, IP 相同的肯 定在一个文件中, 分片不宜太大,也不宜太小, 就用1000片吧, 之后统计每个文件中出现最多次数的...
  • 如何统计日志里面访问次数最多IP

    千次阅读 2017-12-08 08:23:20
    :按照重复行出现的次序倒序排列。  head -n 5 :取排在前 5 位的 IP 。 [ root@server2 ~ ]#  netstat -ntu | tail -n +3 | awk  '{ print $5}'   |  cut  - d  :   - f 1  |...
  • awk ‘{print $1}’ /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10
  • 统计访问Nginx次数最多的前十个IP

    千次阅读 2021-02-19 19:50:23
    awk '{print $1}' :取access日志的第一列 sort:对IP部分进行排序。 uniq -c:打印每一重复行出现的次数。(并去掉重复行) sort -nr -k1:按照重复行出现的次序倒序排列,-k1以第一列为标准排序。 head -n 10:...
  • apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。命令如下:awk '{a[$1] += 1;} END {for (i in a) printf("%d %...
  • 1.根据访问IP统计UVawk '{print $1}' access.log|sort | uniq -c |wc -l2.统计访问URL统计PVawk '{print $7}' access.log|wc -l3.查询访问最频繁的URLawk '{print $7}' access.log|sort | uniq -c |sort -nk 1 -r|...
  • 1. 统计的对象words.txt,每个单词占一行(从简考虑了~)zjd@ubuntu:~/test$ cat word.txtusedthiscountmysqlcountthisusedmysqllinuxthisredisappleandroidredisapple2. 统计每个单词的频率方法1:zjd@ubuntu:~/test$...
  • 前言有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击。日志提取如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数),状态码123.125.72...
  • apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。命令如下:awk ‘{a[$1] += 1;} END {for (i in a) printf("%d ...
  • ipMap.put(ip, ipMap.get(ip) + 1); else ipMap.put(ip, 1); } List,Integer>> iplist = new ArrayList,Integer>>(ipMap.entrySet()); Collections.sort(iplist, new Comparator, ...
  • 统计Apache或nginx日志里访问次数最多的IPNginxawk'{print$1}’/usr/local/nginx/logs/domain.access.log|sort|uniq–c|head-n10cat /usr/local/nginx/logs/domain.access.log|awk'{print$1}’| sort|uniq–c|head-...
  • 基于nginx访问日志统计IP访问量(2017-12-14 18:44:37)分类:web统计IP访问量(独立ip访问数量)awk '{print $1}' access.log | sort -n | uniq | wc -l查看某一时间段的IP访问量(4-5点)grep "07/Apr/2017:0[4-5]" ...
  • nginx日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。当前WEB服务器中连接次数最多ip地址#ss-ntu|awk'{print$5}'|...
  • accat access.log|awk '{print $1}'|sort -n|uniq -c|sort -nr|head -5
  • 平时运维遇到最多的就是nginx的日志分析了,要时常做系统监控,检查IP的访问次数是否有异常,防止恶意访问。假设我的nginx日志如下:.......211.253.43.23 - - [03/Jun/2019:11:41:02 +0800] "GET211.253.43.23 - - ...
  • 假设日志的最后一行是ip地址,则取出日志的最后一行以空格为分隔符并且重定向到d盘下的test.log中。 取出之后还可以进一步操作直接统计ip访问的次数并且降序排列。 cat test.log | sed 's/:[0-9]\+//g'| awk '{...
  • 2,找到每个块出现次数最多的(默认出现均匀)—–>可以用字典树 3,在每个块出现最多的数据中挑选出最大的为结果 */ 问题一: 怎么在海量数据中找出重复次数最多的一个 算法思想: 方案1:先做hash,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,150
精华内容 13,660
关键字:

统计日志出现的ip最多