Re: [問題] print 特定段落
※ 引述《roy8130 (reputation)》之銘言:
: 假設我的檔案內容test.txt
: test.txt ----> 輸出結果
: sage 1
: 1 1
: 2 2
: 3 3
: sage 2
: 4 4
: 5 5
: 6 6
: sage 3
: 7 7
: 8 8
: sage 4
: . .
: . .
: . .
: 假如我我想抓出所有在 /sage\s\d+/ 之間的所有段落
: 請問該如何寫? 謝謝
print unless /stage\s\d+/; 就可以獲得以上結果
如果檔案結構變成, 如下
open file "<test.txt"; -------> output results
sage 1 g sage 2 P
{
name "..............." name "..............."
name "............" name "............"
number "....."
number "..........." sage 4 P
}
sage 2 P name "..............."
name "............"
name "..............."
name "............"
number "....."
number "..........."
}
sage 3 F
{
name "..............."
name "............"
number "....."
number "..........."
}
sage 4 P
{
name "..............."
name "............"
number "....."
number "..........."
}
ps: 假如找到字母P, 列印sage "\d+" P, 並抓出所有以sage內容中以name為開頭的字串
請問要如何寫, 謝謝
use strict;
open FH, "<test.txt";
while (<FH>) {
if(/sage\s\d+\s(\w)/i){
if($1 eq "P"){
...........................................?}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.113.156
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章