免费注册 查看新帖 |

Chinaunix

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

[文本处理] 请帮助a、b指定文档的提取及排序统计 [复制链接]

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-12-14 19:22 |只看该作者 |倒序浏览


请先给出第一个代码:精确输出匹配的行
a.txt
12a..
a876
67..a
ab34...
..abc123
56A..
AB78...
..ABC765

b.txt
a
ab

要求:提取精确输出匹配的行
只匹配a文档中只包含有唯一b文档字母的行。                  比如:b.txt是ab   a.txt中输出行是ab34...
注意,b文档是小写字母,匹配a文档全部是大写字母的行也输出。比如:b.txt是ab   a.txt中输出行是AB78...

最终结果(设定为8.txt):
12a..
a876
67..a
ab34...
56A..
AB78...


再请给出第二个代码:

a.txt
是上面的输出结果8.txt

b.txt
同上面的b.txt

要求:按b.txt内容,根据8.txt里面对应的字母匹配,计算字母重复次数由大到小统计排序

最终结果:

重复次数    对应的字母        (这里只是说明,这一行内容不需要)
   3            a
   1            A
   1            ab
   1            AB



谢谢了!





论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
2 [报告]
发表于 2016-12-15 08:25 |只看该作者
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my (@aData, %hStat, $once);
  5. while (<>){
  6.     if (@ARGV){
  7.         push (@aData, $_);
  8.         next;
  9.     }
  10.     if (!$once++){
  11.         chomp (@aData = sort {$a cmp $b and length ($b) <=> length ($a)} @aData);
  12.     }
  13.     my $match = 0;
  14.     foreach my $v (@aData){
  15.         if (/($v)/i){
  16.             print;
  17.             $hStat{$1}++;
  18.             $match++;
  19.         }
  20.         last if ($match);
  21.     }
  22. }

  23. print "\n";
  24. print "$hStat{$_}\t$_\n" for sort {$hStat{$b} <=> $hStat{$a}} keys %hStat;
复制代码

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
3 [报告]
发表于 2016-12-15 08:45 |只看该作者
回复 2# sunzhiguolu



谢谢。辛苦

看来晚上没有大神来,都休息或忙去了

论坛徽章:
6
羊年新春福章
日期:2015-03-03 17:16:28双子座
日期:2015-03-03 17:16:56巳蛇
日期:2015-03-03 17:17:2415-16赛季CBA联赛之福建
日期:2016-03-11 09:05:00黑曼巴
日期:2016-07-07 16:58:1215-16赛季CBA联赛之吉林
日期:2016-11-14 09:23:07
4 [报告]
发表于 2016-12-15 10:15 |只看该作者
  1. #!/usr/bin/env python
  2. #_*_ coding:utf-8 _*_

  3. import re

  4. def func(file,l):
  5.     f = open(file,'r')
  6.     for line in f.readlines():
  7.         line = line.strip('\n')
  8.         l.append(line)
  9.     return l

  10. if __name__ == '__main__':
  11.     #1
  12.     la = []
  13.     lb = []
  14.     lc = []
  15.     func('a.txt',la)
  16.     func('b.txt',lb)
  17.     for x in la:
  18.         p1 = re.search('[a-zA-Z]+',x)
  19.         for y in lb:
  20.             if p1.group() == y or p1.group() == y.upper():
  21.                 x = x + '\n'
  22.                 lc.append(x)
  23.     f = open('c.txt','w')
  24.     f.writelines(lc)
复制代码
  1. awk --re-interval '{gsub("[^a-zA-Z]+","");a[$1]++}END{for(i in a)print a[i],i}' c.txt
复制代码

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
5 [报告]
发表于 2016-12-15 10:46 |只看该作者
回复 4# jcdiy0601



谢谢,谢谢

还是大神厉害啊。等了一晚上,没人帮助,自己想了好几个小时,解决不了


论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
6 [报告]
发表于 2016-12-15 11:49 |只看该作者
来问问大神 1# moperyblue


真不出手了?我在等你的代码,看看怎样的方法管道实现的grep或awk加上sort
唉!得罪大神了我



论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
7 [报告]
发表于 2016-12-15 13:12 |只看该作者
回复 4# jcdiy0601


大神,麻烦你重新再给另外的一个可否?辛苦了


1.jpg (97.57 KB, 下载次数: 89)

1.jpg

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
8 [报告]
发表于 2016-12-15 14:16 |只看该作者
本帖最后由 moperyblue 于 2016-12-15 14:31 编辑

回复 6# bmne


我不是大神  没必要等一个人的代码 我不是专门负责解决你的问题的 别人也有自己的时间安排啊 有问题发出来 一起讨论 有愿意帮你的 自然会帮你

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
9 [报告]
发表于 2016-12-15 14:31 |只看该作者
回复 8# moperyblue



谢谢回复

知道你热心,才问你下。也知道你忙。我明白你的意思了,不好意思打扰了,对不起


论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
10 [报告]
发表于 2016-12-15 14:34 |只看该作者
回复 4# jcdiy0601

  1. 112
  2. 123
  3. 1234
  4. 1
  5. 12
  6. 123
  7. 1234
  8. 1
  9. 1
  10. 1
  11. 2
  12. 2
  13. 12
  14. 12
  15. a
  16. ab
  17. abc
  18. abcd
  19. a
  20. ab
  21. abc
  22. abcd
  23. a
  24. a
  25. a
  26. ab
  27. A
  28. AB
  29. ABC
  30. ABCD
  31. A
  32. AB
  33. ABC
  34. ABCD
  35. A
  36. A
  37. A
  38. AB
  39. 123a...
  40. 123ab....
  41. 1234abc...
  42. 123456a
  43. 123456ab
  44. 123456abcd
复制代码


看图,请问怎回事?

2.jpg (13.85 KB, 下载次数: 83)

2.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP