亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 8901 | 回復: 5
打印 上一主題 下一主題

如何提取匹配的行, 及匹配行下面連續(xù)幾行的內(nèi)容 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-12-03 11:07 |只看該作者 |倒序瀏覽
本帖最后由 kggg 于 2014-12-03 11:51 編輯

如下文件示例, 行首都有一個空格, 第一列是主題, 后面跟的是內(nèi)容, 如果下一行第一,二列是空的,就是屬于上一主題的內(nèi)容。
如何提取出這些主題及對應(yīng)的內(nèi)容呢。


原文件的一部份:
  1. aklsdjk     hh       this is ok   2039023
  2.                           kkk hhh kldkkd  kkkk
  3.                           uuuu  kdk kkk  kkkkkk lll
  4.                           99999 778 888 8887 777
  5. kllllll        dddd    uu  uuuuuuu uuuuuuuuu u
  6. yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
  7. rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
  8.                            kdslfjlsd kljlkjl kljljl kljlkl ljl
  9.                            klsjfdlsf lkjslf 999999999999
  10. kkkk         kkkkkk  kkkkkkkkkkkkkkkk 888 ll888 88
復制代碼
如第二列包含hh, uuuu, kkku的提取出來 , 如下顯示的結(jié)果 :
  1. aklsdjk     hh       this is ok   2039023
  2.                           kkk hhh kldkkd  kkkk
  3.                           uuuu  kdk kkk  kkkkkk lll
  4.                           99999 778 888 8887 777
  5. yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
  6. rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
  7.                            kdslfjlsd kljlkjl kljljl kljlkl ljl
  8.                            klsjfdlsf lkjslf 999999999999
復制代碼

論壇徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之德黑蘭石油
日期:2015-07-15 08:46:452015亞冠之平陽省
日期:2015-11-08 16:27:53白銀圣斗士
日期:2015-11-14 09:58:12
2 [報告]
發(fā)表于 2014-12-03 11:35 |只看該作者
想得到什么樣的結(jié)果?

論壇徽章:
0
3 [報告]
發(fā)表于 2014-12-03 11:47 |只看該作者
回復 2# b114213903
  1. aklsdjk     hh       this is ok   2039023
  2.                           kkk hhh kldkkd  kkkk
  3.                           uuuu  kdk kkk  kkkkkk lll
  4.                           99999 778 888 8887 777
  5. yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
  6. rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
  7.                            kdslfjlsd kljlkjl kljljl kljlkl ljl
  8.                            klsjfdlsf lkjslf 999999999999
復制代碼
如果包含hh, uuuu, kkku的顯示出來 , 如上所示。

   

論壇徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之德黑蘭石油
日期:2015-07-15 08:46:452015亞冠之平陽省
日期:2015-11-08 16:27:53白銀圣斗士
日期:2015-11-14 09:58:12
4 [報告]
發(fā)表于 2014-12-03 12:31 |只看該作者
回復 3# kggg
  1. #/usr/bin/perl
  2. use strict;

  3. my $flag=0;
  4. while(my $line=<DATA>){
  5.         if($line=~/^\s\S/){
  6.                 my $seconde=(split /\s+/,$line)[2];
  7.                 if($seconde=~/^(hh)$|^(uuuu)$|^(kkku)$/){
  8.                         $flag=1;
  9.                         print "$line";
  10.                 }else{
  11.                         $flag=0;
  12.                 }
  13.         }elsif($flag){
  14.                 print "$line";
  15.         }
  16. }
  17. <>
  18. __DATA__
  19. aklsdjk     hh       this is ok   2039023
  20.                           kkk hhh kldkkd  kkkk
  21.                           uuuu  kdk kkk  kkkkkk lll
  22.                           99999 778 888 8887 777
  23. kllllll        dddd    uu  uuuuuuu uuuuuuuuu u
  24. yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
  25. rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
  26.                            kdslfjlsd kljlkjl kljljl kljlkl ljl
  27.                            klsjfdlsf lkjslf 999999999999
  28. kkkk         kkkkkk  kkkkkkkkkkkkkkkk 888 ll888 88
復制代碼

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
5 [報告]
發(fā)表于 2014-12-03 12:57 |只看該作者
回復 3# kggg


$ cat get_huk.pl
use strict;
use warnings;

my $sMatch = 0;
while(<DATA>){
  $sMatch = 0 if(m/^\s\S+/);
  $sMatch = 1 if(m/^\s\S+\s+(hh|uuuu|kkku)\s/);
  print if $sMatch;
}
__DATA__
aklsdjk     hh       this is ok   2039023

                          kkk hhh kldkkd  kkkk
                          uuuu  kdk kkk  kkkkkk lll
                          99999 778 888 8887 777
kllllll        dddd    uu  uuuuuuu uuuuuuuuu u
yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
                           kdslfjlsd kljlkjl kljljl kljlkl ljl
                           klsjfdlsf lkjslf 999999999999
kkkk         kkkkkk  kkkkkkkkkkkkkkkk 888 ll888 88

$ perl get_huk.pl
aklsdjk     hh       this is ok   2039023

                          kkk hhh kldkkd  kkkk
                          uuuu  kdk kkk  kkkkkk lll
                          99999 778 888 8887 777
yyyy        uuuu    kkkkkkkkl llll llllllllllllllllllllllll
rrrrr         kkku    kdljsdl klsjdfldk lkkkk kkkkkkk
                           kdslfjlsd kljlkjl kljljl kljlkl ljl
                           klsjfdlsf lkjslf 999999999999

   

論壇徽章:
0
6 [報告]
發(fā)表于 2014-12-03 14:29 |只看該作者
謝謝兩位。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP