免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Shell 已决
最近访问板块 发新帖
查看: 2078 | 回复: 8
打印 上一主题 下一主题

[文本处理] 已决 [复制链接]

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-12 14:56 来自手机 |只看该作者 |倒序浏览
本帖最后由 Windows19 于 2015-11-20 13:13 编辑

谢谢        

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2014-10-12 15:47 |只看该作者
回复 1# Windows19

$ cat FILE
abac45214
abcaba4521
452142122abcada
abaac,45214a

$ awk 'BEGIN{FS=""}{for(n=1;n<=NF;n++)a[$n]++;t=asort(a);for(n=t;n>0;n--)k=sprintf("%s%02d,",k,a[n]);delete a;s[k]=s[k]$0"\n";k=""}END{t=asorti(s,b);for(n=t;n>0;n--)printf s[b[n]]}' FILE
452142122abcada
abaac,45214a
abcaba4521
abac45214

   

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
3 [报告]
发表于 2014-10-12 16:19 |只看该作者
学生党:飘过~嘿嘿还是木有抢到宝座呵呵...python试试吧

  1. $ cat yhsafe.py
  2. #!/usr/bin/env python
  3. #-*- coding:gbk -*-
  4. "just for fun for -just soso"

  5. import sys
  6. import operator
  7. import fileinput
  8. dict={}
  9. for a in fileinput.input(sys.argv[1:]):
  10.         for x in set(a.strip('\n')):
  11.                 if not dict.has_key(a):
  12.                         dict[a]=[]
  13.                 else:
  14.                         dict[a].append(str(a.count(x)))
  15. list=[]
  16. for k,v in dict.iteritems():
  17.          list.append('{} {}'.format(k.strip('\n'),' '.join(sorted(v,key=str,reverse=True))).split(' '))

  18. for x in sorted(sorted(list,key=operator.itemgetter(1,2,3,4,5,6),reverse=True)):
  19.         print '%-30s---->%s' % (x[0],' '.join(x[1:]))
复制代码
测试:
$ ./yhsafe.py yhsafe.txt
452142122abcada               ---->4 2 2 1 1 1 1
abaac,45214a                  ---->2 1 1 1 1 1 1
abac45214                     ---->2 1 1 1 1 1
abcaba4521                    ---->2 1 1 1 1 1

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
4 [报告]
发表于 2014-10-12 17:03 |只看该作者
本帖最后由 Windows19 于 2014-10-12 17:39 编辑

回复 2# jason680

我这样用就为啥输出空结果了
    gawk 'BEGIN{FS=""}{for(n=1;n<=NF;n++)a[$n]++;t=asort(a);for(n=t;n>0;n--)k=sprintf("%s%02d,",k,a[n]);delete a;s[k]=s[k]$0"\n";k=""}END{t=asorti(s,b);for(n=t;n>0;n--)printf s[b[n]]}'  a .txt >aa.txt

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
5 [报告]
发表于 2014-10-12 17:14 |只看该作者
回复 2# jason680
完全没有看懂什么意思 求解释

   

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [报告]
发表于 2014-10-12 19:33 |只看该作者
回复 5# wiliiwin

>>完全没有看懂什么意思 求解释

I also have the same issue by your question?
   

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [报告]
发表于 2014-10-12 19:34 |只看该作者
本帖最后由 jason680 于 2014-10-12 19:54 编辑

回复 4# Windows19

what is your file name

    gawk '...'  a .txt >aa.txt

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
8 [报告]
发表于 2014-10-12 20:11 |只看该作者
回复 7# jason680


   The file name is a

In the cygwin bin directory

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2014-10-12 20:33 |只看该作者
回复 8# Windows19


    Try it in a real Linux.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP