Chinaunix

标题: 新人求助 [打印本页]

作者: zhuifeng_wsd    时间: 2014-02-25 11:55
标题: 新人求助
有资料如下:

- ....
....
.....
....
;

-....
...
..
...
...
;

-..
..
;

想要的结果是:
-........................................;
-..................................;
-.................................;

求指点
作者: seufy88    时间: 2014-02-25 12:00
本帖最后由 seufy88 于 2014-02-25 12:02 编辑

简单写了一个
  1. while(<DATA>){
  2. chomp;

  3. if(/-/../;/){
  4. if(/;$/){
  5. $_.="\n";
  6. }
  7. print ;
  8. }
  9. };

  10. __DATA__

  11. - ....
  12. ....
  13. .....
  14. ....
  15. ;

  16. -....
  17. ...
  18. ..
  19. ...
  20. ...
  21. ;

  22. -..
  23. ..
  24. ;
复制代码

作者: zhuifeng_wsd    时间: 2014-02-25 12:09
回复 2# seufy88


    非常感谢,试验一下

作者: pitonas    时间: 2014-02-25 12:12
啥意思啊{:2_171:}
作者: zhuifeng_wsd    时间: 2014-02-25 12:37
回复 4# pitonas


    呵呵,......表述数据啊
作者: zhuifeng_wsd    时间: 2014-02-25 14:58
回复 2# seufy88


    非常感谢,成功了。有一个问题想问一下,$_指什么? 是 ;$ 吗? 那么$_.是什么意思?
作者: TrishaTie    时间: 2014-02-25 16:32
回复 6# zhuifeng_wsd
06.$_.="\n";
意思跟 $sum+=1 一样 $_=$_."\n";


   
作者: yestreenstars    时间: 2014-02-25 16:33
  1. perl -lne 'BEGIN{$/=undef};s/\n//g;s/;/;\n/g;s/\n$//;print'
复制代码

作者: zhuifeng_wsd    时间: 2014-02-25 17:34
回复 7# TrishaTie


    多谢解答,谢谢
作者: zhuifeng_wsd    时间: 2014-02-25 17:37
回复 8# yestreenstars


    膜拜大神,看不懂{:2_174:}
作者: mcshell    时间: 2014-02-25 22:10
  1. perl -ne  'chomp;!/;/?print :print "$_\n"' file
复制代码

作者: rubyish    时间: 2014-02-26 01:38
  1. #!/usr/bin/perl

  2. $/ = "\n\n";
  3. while (<DATA>) {
  4.     s /\n//g;
  5.     print "$_\n";
  6. }
  7. __DATA__
  8. -123
  9. 45
  10. 678
  11. ;

  12. -abc
  13. de
  14. fg
  15. ;

  16. -AB
  17. CD
  18. ;
复制代码

作者: zhuifeng_wsd    时间: 2014-02-26 08:57
回复 12# rubyish


    简洁
作者: zhuifeng_wsd    时间: 2014-02-26 08:57
回复 11# mcshell


    看不懂{:2_169:}
作者: kernel69    时间: 2014-02-28 18:53
  1. perl -pe '/^;/ or s/\n//'
复制代码
回复 1# zhuifeng_wsd


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2