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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

perl中如何將匹配上的多行內(nèi)容打印到文件中? [復(fù)制鏈接]

論壇徽章:
1
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-30 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-08-27 14:10 |只看該作者 |倒序?yàn)g覽
您好!咨詢您一個(gè)perl的問題。
$oldname文件的文本內(nèi)容如下所示:

.data section layout
Starting        Virtual   File
address Size address offset
---------------------------------

.sbss2 section layout
Starting        Virtual   File
address Size address offset
---------------------------------

.bss section layout
Starting        Virtual   File
address Size address offset
---------------------------------
00000000 00000c 400013


我想把$oldname文件中.data section layout以下,.bss section layout以上的內(nèi)容全部通過print打印到文件$newname中,該如何操作?
我用下面的代碼試了,沒搞定。

open(OLDFILE, $oldname) || die "Error\n";
undef $/;
$OldFileString = <OLDFILE>;
$/ = "\n";
close(OLDFILE);

@lines = split(/\n/, $OldFileString );
open(NEWFILE, (">>" . $newname)) || die "Error\n";
foreach $line (@lines) {
if($line =~ (/.data section layout/../.bss section layout/)){
print NEWFILE "$line\n";
}
}
close(NEWFILE);
不知道為什么$newname文件中打印的為什么不是我想要的內(nèi)容,而是整個(gè)$oldname文件的內(nèi)容拷貝,求各位指道。
謝謝。

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報(bào)告]
發(fā)表于 2015-08-27 14:39 |只看該作者
回復(fù) 1# plabgh


    if 里面的條件要寫成 $line =~ /\.data section layout/ .. $line =~ /\.bss section layout/

論壇徽章:
1
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-30 06:20:00
3 [報(bào)告]
發(fā)表于 2015-08-27 14:51 |只看該作者
如果我想匹配的是.data section layout以下,Memory Map:以上的文本內(nèi)容,那么其中匹配冒號':',是不是該在冒號前面也加一個(gè)反斜杠?
是不是 $line =~ /Memory Map\:/  這樣???
謝謝
回復(fù) 2# MMMIX


   

論壇徽章:
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 [報(bào)告]
發(fā)表于 2015-08-27 15:20 |只看該作者
  1. #!/usr/bin/perl
  2. use strict;

  3. open(IN,"<$oldname");
  4. open (OUT,">$newname");
  5. my $flag=0;
  6. while(<IN>){
  7.         chomp;
  8.         if($_ eq '.data section layout'){
  9.                 $flag=1;
  10.         }elsif($_ eq '.bss section layout'){
  11.                 $flag=0;
  12.         }
  13.         if($flag){
  14.                 print OUT "$_\n";
  15.         }
  16. }
  17. close IN;
  18. close OUT;
復(fù)制代碼

論壇徽章:
1
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-30 06:20:00
5 [報(bào)告]
發(fā)表于 2015-08-27 19:07 |只看該作者
高手,麻煩您有空了幫我看看這個(gè)問題,謝謝。
http://www.72891.cn/thread-4186561-1-1.html
回復(fù) 2# MMMIX


   

論壇徽章:
10
2015亞冠之廣州富力
日期:2015-06-16 14:44:332015亞冠之西悉尼流浪者
日期:2015-08-19 13:14:352015亞冠之阿爾希拉爾
日期:2015-08-04 09:38:052015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-31 15:01:582015亞冠之首爾
日期:2015-07-27 14:24:312015亞冠之塔什干火車頭
日期:2015-07-20 09:47:202015亞冠之布里斯班獅吼
日期:2015-07-15 14:58:432015亞冠之首爾
日期:2015-07-07 09:31:262015亞冠之廣州恒大
日期:2015-07-06 15:41:272015亞冠之首爾
日期:2015-08-27 11:03:01
6 [報(bào)告]
發(fā)表于 2015-08-28 09:14 |只看該作者
回復(fù) 2# MMMIX

按照你的意思,應(yīng)該下面的寫法就行吧?但是.data和.sbss2這兩行也打印出來了,怎么去掉他們呢
    while(<DATA>){
print if(/\.data section layout/../\.sbss2 section layout/);
}

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
7 [報(bào)告]
發(fā)表于 2015-08-28 09:56 |只看該作者
回復(fù) 6# xiaoxingan99


    碰到它們不打印就是了.

論壇徽章:
10
2015亞冠之廣州富力
日期:2015-06-16 14:44:332015亞冠之西悉尼流浪者
日期:2015-08-19 13:14:352015亞冠之阿爾希拉爾
日期:2015-08-04 09:38:052015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-31 15:01:582015亞冠之首爾
日期:2015-07-27 14:24:312015亞冠之塔什干火車頭
日期:2015-07-20 09:47:202015亞冠之布里斯班獅吼
日期:2015-07-15 14:58:432015亞冠之首爾
日期:2015-07-07 09:31:262015亞冠之廣州恒大
日期:2015-07-06 15:41:272015亞冠之首爾
日期:2015-08-27 11:03:01
8 [報(bào)告]
發(fā)表于 2015-08-28 11:41 |只看該作者
回復(fù) 7# MMMIX


    再加一層if對吧?謝謝!
我以為有別的參數(shù)可以直接干掉呢

論壇徽章:
307
程序設(shè)計(jì)版塊每周發(fā)帖之星
日期:2016-04-08 00:41:33操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-09-02 06:20:00每日論壇發(fā)貼之星
日期:2015-09-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-04 06:20:00每日論壇發(fā)貼之星
日期:2015-09-04 06:20:00每周論壇發(fā)貼之星
日期:2015-09-06 22:22:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-19 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-20 06:20:00每日論壇發(fā)貼之星
日期:2015-09-20 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-22 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-24 06:20:00
9 [報(bào)告]
發(fā)表于 2016-09-09 10:36 |只看該作者
  1. perl -ne '$P=1 if(/\A\.data section layout/);$P=0 if(/\A\.bss section layout/);print if($P)' f
復(fù)制代碼

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2016-09-16 12:36 |只看該作者
直接這樣好了~
  1. #!/usr/bin/perl

  2. use warnings;
  3. use strict;

  4. open OUTPUT, '>', 'newname.txt'
  5.         or die "Can't output the file: $!";
  6. while (<>) {
  7.         chomp;
  8.         next if (/.data section layout/);
  9.         last if (/.bss section layout/);
  10.         print OUTPUT $_, "\n";       
  11. }
  12. close OUTPUT;
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP