免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3402 | 回复: 15
打印 上一主题 下一主题

[文本处理] 统计每周的增长 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-24 11:21 |只看该作者 |倒序浏览
请教大家,文件内容如下,有3周的数据,怎么统计每周总量和每周的增长数及增长比例

2013/5/22        3527
2013/5/21        2894
2013/5/20        2574
2013/5/19        2490
2013/5/18        2320
2013/5/17        2318
2013/5/16        1978
2013/5/15        2784
2013/5/14        2764
2013/5/13        2371
2013/5/12        2294
2013/5/11        2315
2013/5/10        2272
2013/5/9        2297
2013/5/8        2605
2013/5/7        2575
2013/5/6        1840
2013/5/5        1790
2013/5/4        1736
2013/5/3        1735
2013/5/2        2177

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
2 [报告]
发表于 2014-06-24 11:25 |只看该作者
回复 1# viato

周怎么定义,查calendar?
   

论坛徽章:
0
3 [报告]
发表于 2014-06-24 11:27 |只看该作者
回复 2# Herowinter


    cal

论坛徽章:
0
4 [报告]
发表于 2014-06-24 11:44 |只看该作者
回复 2# Herowinter


    如果按照cal的周不好定义,用7行作为一周也可以

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
5 [报告]
发表于 2014-06-24 12:17 |只看该作者
回复 1# viato


try:
  1. awk '{cmd="date +%W -d "$1;cmd|getline w;a[w]+=$2}END{for(i in a)print i,a[i]}' file
复制代码

论坛徽章:
0
6 [报告]
发表于 2014-06-24 12:45 |只看该作者
回复 5# ly5066113


    这里是每周的量,假如要统计每周的增长百分比要怎么办? 如 (第20周 - 第19周) / 第19周

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
7 [报告]
发表于 2014-06-24 13:12 |只看该作者
回复 6# viato
  1. awk '{cmd="date +%W -d "$1;cmd|getline w;a[w]+=$2}END{n=asorti(a,b);print b[1]" "a[b[1]]" 100%";for(i=2;i<=n;i++){print b[i],a[b[i]],(a[b[i]]-a[b[i-1]])/a[b[i-1]]*100"%"}}' file
复制代码

论坛徽章:
0
8 [报告]
发表于 2014-06-24 13:35 |只看该作者
回复 7# ly5066113

膜拜中
   

论坛徽章:
2
巳蛇
日期:2014-06-02 13:33:59午马
日期:2015-01-11 00:11:16
9 [报告]
发表于 2014-06-24 14:24 |只看该作者
回复 7# ly5066113
v587

   

论坛徽章:
0
10 [报告]
发表于 2014-06-24 14:28 |只看该作者
本帖最后由 viato 于 2014-06-24 14:54 编辑

回复 7# ly5066113

如果按照第1行作为参照,怎么按照20%的比率推算出后面20 21 22 23 24 25第二列数字
19 17025 5.10557%
20 20430
21 24516
我这样只能推出20的增长,不能循环出其他数字的增长
  1. awk '{a=$1+1;b=$2*1.2}END{print a,b}'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP