1、使用awk数组统计出以下域名中相同域名出现的次数
[[email protected]]# cat url.txt http://www.etiantian.org/index.html http://www.etiantian.org/1.html http://post.etiantian.org/index.html http://mp3.etiantian.org/index.html http://www.etiantian.org/3.html http://post.etiantian.org/2.html
第一步:先来统计出一个域名的次数
[[email protected] files]# awk -F"[/]+" ‘{h[$2]+=1;print $2,h["www.etiantian.org"]}‘ url.txt www.etiantian.org 1 www.etiantian.org 2 post.etiantian.org 2 mp3.etiantian.org 2 www.etiantian.org 3 post.etiantian.org 3
以上统计出了www.etiantian.org域名出现的次数,从统计结果可以看出,这里出现了3次。
第二步:统计全部
[[email protected] files]# awk -F"[/]+" ‘{h[$2]+=1}END{for (key in h)print key,h[key]}‘ url.txt mp3.etiantian.org 1 post.etiantian.org 2 www.etiantian.org 3
h[$2]+=1 表示h[$2]=h[$2]+1
h[$2] 表示每次出现相同域名的次数 +1就表示当遇到相同的时候就加一次
for (key in h) 使用for循环来统计它们的次数
print key,h[key] 打印出出现相同域名及出现的次数
2、使用awk数组统计下列字母出现的次数
[[email protected] files]# cat array.txt a 1 b 3 c 2 d 7 b 5 a 3 g 2 f 6 d 9
解答:
[[email protected] files]# awk ‘{h[$1]+=$2}END{for (key in h)print key,h[key]}‘ array.txt a 4 b 8 c 2 d 16 f 6 g 2
时间: 2024-11-09 02:50:26