shell编程题(三十三)

题目:

  获得访问前10位的ip地址

答案:  

awk ‘{print $1}‘ access.log | sort | uniq -c | sort

access.log

172.16.8.11 - - [19/Sep/2018:12:35:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613
172.16.8.1 - - [19/Sep/2018:12:43:08 +0800] "GET /images/loading.gif HTTP/1.1" 200 404
172.16.8.1 - - [19/Sep/2018:12:43:08 +0800] "POST /init HTTP/1.1" 200 207
172.16.8.1 - - [19/Sep/2018:12:43:12 +0800] "POST /init HTTP/1.1" 200 207
172.16.8.1 - - [19/Sep/2018:12:43:16 +0800] "GET / HTTP/1.1" 200 7612
172.16.8.1 - - [19/Sep/2018:12:43:16 +0800] "GET /css/default-init.css?1537325099834 HTTP/1.1" 304 -
172.16.8.1 - - [19/Sep/2018:12:43:16 +0800] "GET /js/lib/jquery/jquery.min.js HTTP/1.1" 304 -
172.16.8.1 - - [19/Sep/2018:12:43:16 +0800] "GET /images/logo.png HTTP/1.1" 304 -
172.16.8.11 - - [19/Sep/2018:12:45:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:12:55:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:13:05:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:13:15:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613
172.16.8.11 - - [19/Sep/2018:13:25:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613
172.16.8.11 - - [19/Sep/2018:13:35:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613
172.16.8.11 - - [19/Sep/2018:13:45:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613
172.16.8.11 - - [19/Sep/2018:13:55:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:14:05:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:14:15:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:14:25:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:14:35:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7612
172.16.8.11 - - [19/Sep/2018:14:45:21 +0800] "GET /console/stat/onlineVisitorRefresh HTTP/1.1" 200 7613

uniq 命令只能合并相邻相同选项的行,所以前面需要用一个sort排序把相同或者相似的项排在一起。

原文地址:https://www.cnblogs.com/wanghao-boke/p/12286871.html

时间: 2024-10-12 15:13:47

shell编程题(三十三)的相关文章

shell编程题(十三)

题目: 编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下. 答案: #!/bin/bash for FileName in `ls -l | awk '$5>10240 {print $9}'`; do mv $FileName /tmp done ls -al /tmp 原文地址:https://www.cnblogs.com/wanghao-boke/p/12152199.html

嵌入式考试Shell编程题

单片机与嵌入式系统考试Shell编程题库,简单地做了下. 9. 与题7类似,多了个乘法运算. #!/bin/bash # test1.sh # 2016.1.2 echo "Please input N student grade:" read -a grade for ((i=0;i<${#grade[@]};i++)) do if [[ ${grade[i]} -ge 90 ]] then grade[i]=5 elif [[ ${grade[i]} -ge 80 ]] th

shell编程题(三十)

题目: 获取前10个time_wait连接最多的IP地址 答案: netstat -n | grep TIME_WAIT | awk '{print $5}' | uniq -c | sort -nr | head -n10 原文地址:https://www.cnblogs.com/wanghao-boke/p/12268143.html

shell编程题(三十二)

题目: 根据端口号列出进程号 答案: sudo netstat -ntlp | grep 22 | awk '{print $7}' | cut -d/ -f1 运行结果: linux cut 命令: cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出. 如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 参数列表: -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c :

shell编程题(三十一)

题目: 查看当前连接SYN的IP数 答案: netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | uniq -c | sort -nr | more 运行结果: 原文地址:https://www.cnblogs.com/wanghao-boke/p/12272434.html

Linux shell编程(三):管道和重定向

标准输入输出 执行一个shell命令行时通常会自动打开三个标准文件即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕.进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中. 标准输入输出描述符 标准输入(stdin):0 标准输出(stdout):1 标准错误(stderr):2 管道 "管道"是由一个控制操作符 "|" 或 &q

shell 编程 (三)-for 循环,while循环,break,continue,exit

[toc] 一.for循环 重复执行一系列命令在 编程中很常见.通常你需要重复一组命令直到达到某个特定条件,比如处理某个目录下的所有文件.系统上的所有用户或者是某个文本文件中的所有行. 常见的两种循环,在脚本中普遍被用到. for循环while循环 语法:for 变量名 in 条件; do -; done for var in list do commands done 在list参数中,提供了迭代中要用的一系列值 示例1:用for循环来写个1-100的求和. 思路: [ ] 首先需要把1-10

小鸟初学Shell编程(三)脚本不同执行方式的影响

执行命令的方式 执行Shell脚本的方式通常有以下四种 方式一:bash ./test.sh 方式二:./test.sh 方式三:source ./test.sh 方式四:. ./test.sh 执行方式的区别 方式一bash方式执行脚本的话,会在当前的终端下面产生一个bash子进程来运行脚本,所以对当前的环境是没有影响的. [[email protected] usr]# bash ./test.sh 方式二./test.sh的方式运行,则脚本第一行声明是哪个Shell解释器就会产生哪个She

Shell编程(三)Shell特性

!$:显示上一条命令最后一个参数 $?: 上个命令的退出状态,或函数的返回值. alias xxx="命令":给命令取别名 xxx 通过 vim ~/.bashrc 里编辑,可以来修改别名. <, <<:重定向输出 .>, >>:重定向到文件 管道:| 命令排序 shell通配符 子shell:重新开一个shell执行. (注:souch script.sh  或  .   script.sh 在当前shell里执行)  /script.sh  ba