网络遥控器针对个人的统计脚本0525
1,获取登录次数最多的用户id
user_id=`cat operate0226.txt | cut -f 5 | sort | uniq -c | sort -n -r | head -n 1 | awk -F' ' '{print $2}'`
得到的结果是:A0000040B0546E
2,蒋该用户的记录单独过滤
cat operate0226.txt | grep $user_id | awk -F'\t' '{print $6"\t"$7"\t"$8"\t"$9}' > singleUser.0220
1,用户行为分布:
cat singleUser.0220 | awk -F'\t' '{print $1}' | sort | uniq -c | sort -r -n
1394 按键 101 学习 83 观看 35 搜索 21 节目 19 收藏频道 19 刷新 9 收藏 6 分享节目 5 收藏节目 3 预订
2)用户观看频道排行
cat singleUser.0220 | grep '频道:' | grep '观看'| awk -F'频道:' '{print $2}' | awk -F',' '{print $1}' | sort | uniq -c
26 CCTV-1 20 CCTV-6(电影) 11 山东卫视 10 CCTV-4中文国际(亚) 5 CCTV-3(综艺) 3 CCTV-8(电视剧) 3 CCTV-2(财经) 3 CCTV-1(综合) 1 珠江卫视 1 CCTV-10(科教)
cat singleUser.0220 | grep '观看'| grep '节目'| awk -F'节目名称:' '{print $2}' | sort |uniq -c | sort -r -n
2 今日说法 1 自然传奇周末系列 1 焦点访谈
3)用户收藏频道列表
cat singleUser.0220 | grep '收藏'| awk -F'频道:' '{print $2}' | awk -F',' '{print $1}' | sort | uniq
CCTV-1 CCTV-10(科教) CCTV-11(戏曲) CCTV-13(新闻) CCTV-14(少儿) CCTV-15(音乐) CCTV-1(综合) CCTV-3(综艺) CCTV-4中文国际(亚) CCTV-6(电影) CCTV-7(军事农业) CCTV-8(电视剧) CCTV-E 中国教育1套 兵团卫视
4)用户收藏节目列表
今日说法
天天饮食
生活早参考
自然传奇周末系列
5)用户预订节目列表
cat singleUser.0220 | grep '预订' | awk -F'节目名称:' '{print $2}' | sort | uniq
6)用户搜索关键词排行
cat singleUser.0220 | grep '搜索' | awk -F'\t' '{print $NF}' | sort | uniq -c | sort -r -n
6 屌丝男士 4 龙门镖局 4 小爸爸 4 天天向上 3 湖南卫视 2 那英 2 追鱼传奇 2 花非花雾非雾 2 电影 2 新闻联播 2 新闻 2 天天有喜
7)用户分享节目排行
cat singleUser.0220 | grep '分享' | awk -F'节目名称:' '{print $2}' | sort | uniq -c | sort -r -n
3 第一动画乐园(上午版) 2 天天饮食 1 今日说法
完整的脚本是:
#!/bin/sh 2 3 root_dir=`pwd` 4 source_file="$root_dir"/operate0226.txt 5 single_file="$root_dir"/single0226.txt 6 result_file="$root_dir"/result.txt 7 8 rm -rf $single_file 9 rm -rf $result_file 10 11 ###统计出现次数最多的用户数### 12 user_id=`cat $source_file | cut -f 5 | sort | uniq -c | sort -n -r | head -n 1 | awk -F' ' '{print $2}'` 13 14 ###蒋登录次数最多的用户信息单独提取出来### 15 cat $source_file | grep $user_id | awk -F'\t' '{print $6"\t"$7"\t"$8"\t"$9} ' > $single_file 16 17 ###统计用户各种行为分布### 18 echo "统计用户行为分布" >> $result_file 19 cat $single_file | awk -F'\t' '{print $1}' | sort | uniq -c | sort -r -n > >$result_file 21 ###统计用户观看频道的排行### 22 echo "\n统计用户观看频道排行" >>$result_file 23 cat $single_file | grep '频道:' | grep '观看'| awk -F'频道:' '{print $2}' | awk -F',' '{print $1}' | sort | uniq -c >> $result_file 24 25 ###统计用户观看节目排行### 26 echo "\n统计用户观看节目排行">>$result_file 27 cat $single_file | grep '观看'| grep '节目'| awk -F'节目名称:' '{print $2}' | sort |uniq -c | sort -r -n >> $result_file 28 29 ###统计用户收藏频道列表### 30 echo "\n统计用户收藏频道列表">>$result_file 31 cat $single_file | grep '收藏'| awk -F'频道:' '{print $2}' | awk -F',' '{pr int $1}' | sort | uniq >> $result_file 32 33 ###统计用户收藏节目列表### 34 echo "\n统计用户收藏节目列表">>$result_file 35 cat $single_file | grep '收藏' | grep '节目名称:' | awk -F'节目名称:' '{pri nt $2}' |sort | uniq >> $result_file 36 37 ###统计用户预订节目列表### 38 echo "\n统计用户预订节目列表">>$result_file 39 cat $single_file | grep '预订' | awk -F'节目名称:' '{print $2}' | sort | un iq >> $result_file 40 41 ###用户搜索关键词排行### 42 echo "\n统计用户搜索关键词排行">>$result_file 43 cat $single_file | grep '搜索' | awk -F'\t' '{print $NF}' | sort | uniq -c | sort -r -n >> $result_file 45 ###用户分享节目排行### 46 echo "\n统计用户分享节目排行">>$result_file 47 cat $single_file | grep '分享' | awk -F'节目名称:' '{print $2}' | sort | u niq -c | sort -r -n >> $result_file 48 49 dos2unix $result_file