代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 运行结果: 代码: 1.统计tcp的链接数 统计tcp两个状态(LISTENESTABLISHED)的链接个数,用数组state计数 2.分别统计不同ip的tcp连接 split( test1文本内容: haha test2文本内容: 20 test3文本内容: haha:20 代码: 运行结果: 号码|请求大小|请求id,内容如下: 001|100|abc.gif 003|30|abg.jpg 其中带有gif表示是gif图片的请求,带有jpg表示是jpg图片的请求,请使用(python/shell/awk/sort)编写程序实现如下分析思路(1,2为中间步骤,可以只输出3,4结果): 1.找出所有gif图片请求的所有号码 2.找出所有gif图片请求的号码和其对应的请求大小总和及请求数总和. 3.找出所有gif图片请求的号码,并按照其请求大小总和从大到小排序. 4.找出所有gif图片请求的号码,并按其请求平均图片大小从大到小排序. 代码:
1.只处理用户ID为奇数的行,并打印用户名和uid号
awk -F: '$3%2 != 0{print $1,$3}' /etc/passwd
2.显示系统的普通用户,并打印用户名和ID
awk -F: '$1! = "root" {print $1,$3}' /etc/passwd
3.显示用户shell是’/bin/bash’的用户,并打印用户名
awk -F: '$7 == "/bin/bash"{print $1}' /etc/passwd
4.统计普通用户的个数
awk -F: '$1!="root" {print $1,$3}' /etc/passwd | wc -l
5.统计文本的总行数
awk -F: '{print}' /etc/passwd | wc -l
6.显示文件名
ll |awk '{print $9}'
7.显示UID为1001用户的相关信息
awk -F: '$3 == 1001{print $0}' /etc/passwd
8.利用awk模拟tail -1的效果
awk 'END{print $0}' /etc/passwd
9.看懂数组两个练习(统计tcp链接数)
netstat -ant | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'
netstat -ant | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %sn", a, S[a]);++I}printf("%-20s %sn","TOTAL_IP",I);for(a in s) printf("%-20s %sn",a, s[a]);printf("%-20s %sn","TOTAL_LINK",N);}'
(NF−1),array,“:“)将倒数第二个字段按照“:“分割成array数组,S[]数组下标是ip地址,元素是每个ip地址的链接个数,,s[NF]下标是状态(LISTENESTABLISHED),元素是每个状态链接个数;N是总链接数。10.将test2文件中的行追加到test1的同一行后,并保存到文件test3
hehe
alice
bob
25
18
30
hehe:25
alice:18
bob:30awk '{printf "%s: ",$1; getline t < "test2" ; printf " %sn",t}' test1 > test3
11.某产品的CDN带宽运营成本迅猛增涨,其带宽主要由各种类型的图片组成,为了对某产品的图片流量带宽进行优化,现需要对该产品的图片和号码特性做一些分析,已有的日志文件test.log供分析使用,格式:
002|80|abd.jpg
003|150|abe.gif
001|60|abf.gif
awk -F '|' '/gif$/{print$1}' test.log |sort -n | uniq
awk -F '|' '/gif$/{arg[$1] += $2}END{for(i in arg){print i,arg[i]}}' test.log
awk -F '|' '/gif$/{arg[$1] += $2}END{for(i in arg){print i,arg[i]}}' test.log |sort -k2nr
4.awk -F '|' '/gif$/{++sum[$1];arg[$1] += $2}END{for(i in arg){print i,arg[i]/sum[i]}}' test.log |sort -k2nr
参考改进:awk脚本作业
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算