标签:style blog http color io ar for strong sp
输出每个IP的网络连接数,是作很多事情的第一步:
netstat -nat | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n
netstat -nat|awk ‘{print $5}‘|awk -F : ‘{print $1}‘|awk ‘{a[$1]++}END{for(i in a)print a[i],i}‘|sort -n
再试试AWK文件功能:
awk -f cal.awk mawk.txt
在上面我们可以看到一个END关键字。END的意思是“处理完所有的行的标识”,即然说到了END就有必要介绍一下BEGIN,这两个关键字意味着执行前和执行后的意思,语法如下:
为了说清楚这个事,我们来看看下面的示例:
假设有这么一个文件(学生成绩表):
1
2
3
4
5
6
|
$ cat score.txt Marry 2143 78 84 77 Jack 2321 66 78 45 Tom 2122 48 77 71 Mike 2537 87 97 95 Bob 2415 40 57 62 |
我们的awk脚本如下(我没有写有命令行上是因为命令行上不易读,另外也在介绍另一种用法):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
$ cat cal . awk #!/bin/awk -f #运行前 BEGIN { math = 0 english = 0 computer = 0 printf "NAME NO. MATH ENGLISH COMPUTER TOTAL\n" printf "---------------------------------------------\n" } #运行中 { math+=$3 english+=$4 computer+=$5 printf "%-6s %-6s %4d %8d %8d %8d\n" , $1, $2, $3,$4,$5, $3+$4+$5 } #运行后 END { printf "---------------------------------------------\n" printf " TOTAL:%10d %8d %8d \n" , math, english, computer printf "AVERAGE:%10.2f %8.2f %8.2f\n" , math /NR , english /NR , computer /NR } |
我们来看一下执行结果:(也可以这样运行 ./cal.awk score.txt)
1
2
3
4
5
6
7
8
9
10
11
|
$ awk -f cal . awk score.txt NAME NO. MATH ENGLISH COMPUTER TOTAL --------------------------------------------- Marry 2143 78 84 77 239 Jack 2321 66 78 45 189 Tom 2122 48 77 71 196 Mike 2537 87 97 95 279 Bob 2415 40 57 62 159 --------------------------------------------- TOTAL: 319 393 350 AVERAGE: 63.80 78.60 70.00 |
标签:style blog http color io ar for strong sp
原文地址:http://www.cnblogs.com/aguncn/p/4034520.html