我正在尝试在文件中搜索字符串。该字符串可以在文件中多次出现。如果找到,我需要在<P>
和</P>
标记中提取其下方的行。
到目前为止,我有以下代码:
仅打印当前行。如何才能在<P>
和</P>
代码中打印下一行?
#!/usr/bin/perl
use strict;
my $find = "Primary objectives";
open(FILE,"obj_doc.html") or die "cannot open file ";
my @line = <FILE>;
for (@line) {
if ($_ =~/$find/) {
print "Current line is: $_\n";
# get the next line
# if next line begins with <P> and ends with </P> extract it. else ignore it
my $nextline = <FILE>;
printf "$nextline";
if ($nextline =~ /^<P>:+<\/P>$/) {
print $nextline;
}
}
}
close(FILE);
非常感谢。 - 西马克
答案 0 :(得分:0)
触发器操作员是你肮脏工作的朋友。
perl -ne'print if/<P>/../<\/P>/'
无论如何使用适当的解析器进行认真的工作!