【发布时间】:2019-07-23 18:38:37
【问题描述】:
使用 perl 正则表达式,如果两个连续的行匹配,则计算行数。
我想要直到匹配模式的行数
D001
0000
open ($file, "$file") || die;
my @lines_f = $file;
my $total_size = $#lines_f +1;
foreach my $line (@lines_f)
{
if ($line =~ /D001/) {
$FSIZE = $k + 1;
} else {
$k++;}
}
除了 D001,我还想检查下一行是否为 0000。如果是,$FSIZE 是 $file 大小。 $file 看起来像这样
00001
00002
.
.
.
D0001
00000
00000
【问题讨论】:
-
请包括输入文件
$file的一个小示例以及该文件的预期输出。然后显示另一个不包含D001的文件,以及该文件的相应输出。例如:“预期输出是:$FSIZE = 5”或类似的东西 -
感谢您的更新!您包含的文件的预期输出是什么?如果删除带有“。”的行?如果缺少
D0001的行,预期的输出是什么? -
删除 '.' 时的预期输出将是 3。基本上,我想计算直到分隔符的行数。下一行中的分隔符是“D0001”和“0000”。