免费注册 查看新帖 |

Chinaunix

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

求个思路 [复制链接]

sinian126 该用户已被删除
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-10 12:58 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
2 [报告]
发表于 2013-04-10 12:58 |只看该作者
本帖最后由 rubyish 于 2013-04-10 14:08 编辑

{:3_188:}:
  1. #!/usr/bin/perl
  2. use 5.016;
  3. my @p = qw/A B C/;
  4. my $R = join '|', @p;
  5. my @data = split m[//], do { local $/; <DATA> };
  6. for ( @data[ 1 .. $#data - 1 ] ) {
  7.     my @a = grep /^$R\s/, split /\n/;
  8.     my %e;
  9.     map { /(\S+)\s+(.*)/; $e{$1} .= $2 } @a;
  10.     say join "\t", map { $e{$_} || '*' } @p;
  11. }
  12. __DATA__
  13. //
  14. A 1;
  15. XX
  16. B 2;
  17. XX
  18. C 3;
  19. XX
  20. D 4;
  21. XX
  22. //
  23. A 5;
  24. XX
  25. B 6;
  26. B 7;
  27. XX
  28. //
复制代码
sinian126 该用户已被删除
3 [报告]
发表于 2013-04-10 13:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
sinian126 该用户已被删除
4 [报告]
发表于 2013-04-10 13:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2013-04-10 13:21 |只看该作者
这个应该比较容易;
思路:
1. 如果文档不大的话,将整个文档当一个长字符串处理。   -- $txt;
2. 用正则  @content = $txt =~ /([^\/\/]+)\/\//gs;
3. 这样两个// 之间的内容就保存在@content 中了,
4. 处理@content就能获得结果了

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
6 [报告]
发表于 2013-04-10 13:22 |只看该作者
  把原始数据发出来。发两条看看,然后才能知道怎么弄阿。。
   大概看了下:
   1.先split(/\s+/)
   2.然后打印写入的时候加上\t
   应该就可以了。因为你每个都是\t退格来进行操作。。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
7 [报告]
发表于 2013-04-10 13:31 |只看该作者
你的D4呢跑那里去了?

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
8 [报告]
发表于 2013-04-10 13:33 |只看该作者
sed -n '1h;/\/\//!{:a;1!H;$!b};1!{x;s/\n//g;s/XX/\t\t/g;s/[A-Z]//g;s/\/\///g;p;}' test
1;              2;              3;              4;
5;              6; 7;
sinian126 该用户已被删除
9 [报告]
发表于 2013-04-10 13:35 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
sinian126 该用户已被删除
10 [报告]
发表于 2013-04-10 13:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP