标签:style blog http color 使用 文件
1,提取出每个节目下的用户列表
2,将用户id列表与用户的profile进行对应
实现脚本如下:
1 #/bin/sh 2 3 program_dir=/home/minelab/liweibo/raw_data 4 user_file=/home/minelab/liweibo/springNightUser/sina_user.data 5 6 program_list=`ls $program_dir` 7 8 for program in $program_list 9 do 10 #对每个节目生成两个文件 11 #节目名称_userid_times.map 字段:用户id 用户发表该节目相关的微博的次数 12 #节目名称_userid_times_profile 字段:用户id 用户提到该节目的次数 用户昵称 用户性别 用户地域 用户生日 用户关注数目 用户粉丝数目 用户发布微博数目 用户标签 13 rm -rf $program_dir/$program/$program"_userid_times.map" 14 rm -rf $program_dir/$program/$program"_userid_times_profile.map" 15 cat $program_dir/$program/$program.data| awk -F‘\t‘ ‘{print $2}‘ | sort | uniq -c | sort -r -n | sed ‘s/^ *//g‘ | sed ‘s/ /\t /g‘ | awk -F‘\t‘ ‘{print $2"\t"$1}‘ | sort >$program_dir/$program/$program"_userid_times.map" 16 join -t $‘\t‘ $program_dir/$program/$program"_userid_times.map" $user_file >$program_dir/$program/$program"_userid_times_prof ile.map" 17 18 echo $program is done! 19 done 20 21 echo "all is done!"
3,对节目信息进行编号
#!/bin/sh program_dir=/home/minelab/liweibo/raw_data inter_dir=/home/minelab/liweibo/inter_data result_file=$inter_dir/id_program.map program_list=`ls $program_dir` rm -rf $result_file i=1 for program in $program_list do echo $i" "$program>>$result_file i=$[$i+1] done echo "done"
得到的id_program.map文件
1 百花争妍 2 倍儿爽 3 春晚是什么 4 答案 5 扶不扶 6 符号中国 7 光荣与梦想 8 欢歌 9 剑心书韵 10 卷珠帘 11 康定情歌 12 空空拜年 13 老阿姨 14 练兵舞 15 玫瑰人生 16 梦蝶 17 魔幻三兄弟 18 难忘今宵 19 年味儿 20 青春舞曲 21 情非得已 22 群发的我不回 23 扰民 24 人到礼到 25 舌尖上的春晚 26 时间都去哪儿 27 说你什么好 28 套马杆 29 天下黄河九十九道弯 30 天耀中华 31 同光十三绝 32 团圆饭 33 万马奔腾 34 万泉河水 35 我的要求不算高 36 我的中国梦 37 我就这么个人 38 想你的365天 39 小马欢腾 40 野蜂飞舞 41 英雄赞歌 42 英雄组歌 43 在那遥远的地方 44 站在高岗上 45 张灯结彩 46 最好的夜晚
4,建立节目id_用户矩阵
#!/bin/bash #最终得到的文件格式是节目id" "评论该节目的用户数目" "评论该节目的用户id列表(不同id之间使用空格分开) #如果一个用户多次评论某个节目,当作一次进行处理 program_dir=/home/minelab/liweibo/raw_data inter_dir=/home/minelab/liweibo/inter_data result_file=$inter_dir/programid_userlist.map tmp_file=$inter_dir/programid_userlist.tmp program_list=`ls $program_dir` rm -rf $result_file rm -rf $tmp_file i=1 for program in $program_list do user_list=`cat $program_dir/$program/$program"_userid_times_profile.map" | awk -F‘\t‘ ‘{printf("%s ",$1);}End{print;}‘` line_num=`cat $program_dir/$program/$program"_userid_times_profile.map" | wc -l | awk ‘{print $1}‘` echo $i" "$line_num" "$user_list >>$tmp_file i=$[$i+1] done #根据节目流行度进行排序 cat $tmp_file | sort -t $‘\t‘ -k 2 -r -n > $result_file rm -rf $tmp_file echo "done"
5,建立用户_节目id矩阵
6,统计节目下节目的流行度
7,统计用户的活跃度
标签:style blog http color 使用 文件
原文地址:http://www.cnblogs.com/bobodeboke/p/3832366.html