免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wenxin1234114
打印 上一主题 下一主题

[文本处理] 求教大神:一条命令处理这个数据 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-07-29 17:05 |只看该作者
回复 7# 代号:军刀


    用sorti排序应该不ok吧,如果测试数据随便添加一条比如换成:
http://www.baidu.com/1.html
http://img.baidu.com/1.html
http://www.baidu.com/1.html
http://www.baidu.com/2.html
http://pic.baidu.com/1.html
http://img.baidu.com/1.html
就排不了

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
12 [报告]
发表于 2013-07-29 18:01 |只看该作者
目测此类题目回复总是异常火爆

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
13 [报告]
发表于 2013-07-29 18:09 |只看该作者
本帖最后由 代号:军刀 于 2013-07-29 18:10 编辑

回复 11# zxd_echo


    混淆了asorti和asort了,重新改了下,使用asort
  1. awk -F '/' '{a[$3]++}END{for(i=asort(a,c);i>0;i--){for(j in a){if(c[i] == a[j]){print j,c[i];delete a[j];break}}}}'
复制代码

论坛徽章:
0
14 [报告]
发表于 2013-07-30 15:24 |只看该作者
awk -F'/' '{a[$3]++}END{for(i=asorti(a,b);i>=1;i--)print b[i],a[b[i]]}'

论坛徽章:
2
2015年亚洲杯之巴勒斯坦
日期:2015-02-15 12:11:292015年辞旧岁徽章
日期:2015-03-03 16:54:15
15 [报告]
发表于 2013-07-30 16:32 |只看该作者
awk -F'[/]+' '{s[$2]++}END{for(i in s)print i,s|"sort -rn"}'

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
16 [报告]
发表于 2013-07-30 21:43 |只看该作者
本帖最后由 代号:军刀 于 2013-07-30 21:47 编辑

回复 14# zing840828


看来犯这种错误的人还真不少,大家都被坑了,这里给你纠正下,asorti是不对value排序的,是对key排序的,asort才是对value排序的,想查看详细可以通过awk的官方文档。这条命令之所以能运行结果正确只能说明巧合,这就为什么我前面写了这条命令后来改了。
  1. # cat ab
  2. http://img.baidu.com/1.html
  3. http://www.baidu.com/1.html
  4. http://img.baidu.com/1.html
  5. http://www.baidu.com/1.html
  6. http://www.baidu.com/2.html
  7. http://pic.baidu.com/1.html
  8. # awk -F'/' '{a[$3]++}END{for(i=asorti(a,b);i>=1;i--)print b[i],a[b[i]]}' ab
  9. www.baidu.com 3
  10. pic.baidu.com 1
  11. img.baidu.com 2
复制代码

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
17 [报告]
发表于 2013-07-30 23:30 |只看该作者
asorti是不对value排序的,是对key排序的,asort才是对value排序的
学习
  1. $ cat ab
  2. http://img.baidu.com/1.html
  3. http://www.baidu.com/1.html
  4. http://img.baidu.com/1.html
  5. http://www.baidu.com/1.html
  6. http://www.baidu.com/2.html
  7. http://pic.baidu.com/1.html

  8. $ awk -F'/' '{b[$3]=++a[$3]" "$3}END{for(i=asort(b,c);i>=1;i--)print c[i]}' ab
  9. 3 www.baidu.com
  10. 2 img.baidu.com
  11. 1 pic.baidu.com

复制代码

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
18 [报告]
发表于 2013-07-31 09:32 |只看该作者
回复 17# cao627


    这想法不错,把数字放在前面,然后组合字符串进行排序,学习了。但你也犯了一个错误,当数字大于10小于20的时候,他的排序位置其实是在2之后的,如果按我上面那种方法来排序就不会出现这种问题。

论坛徽章:
0
19 [报告]
发表于 2013-07-31 10:02 |只看该作者
回复 18# 代号:军刀


    二楼的方法不对吗?我试了好像行。

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
20 [报告]
发表于 2013-07-31 10:53 |只看该作者
@代号:军刀想的周到,多谢提醒!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP