用Perl语言提取文本中指定行号的数据

脚本如下:

# 脚本目的:取出某个文本中指定行的数据

if($#ARGV != 0){
    print "输入参数:\n";
    print 'perl xxx.pl D:\YangDong\Perl\test.txt'."\n\n";  #如果在目标文件所在目录下执行命令,也可以只写文本名test.txt
    exit(-1);
}

print "输入起始行号:";
chomp($number_begin = <STDIN>);

print "输入结尾行号:";
chomp($number_end = <STDIN>);


$n = 0;
$count = 0;
open FH,'>.\lines.txt';
while (defined($line = <>)){  #<>在Perl里叫做钻石操作符
    $n += 1;
    if($n >= $number_begin && $n <= $number_end ){
        chomp($line);
        print FH "----line${n}:----\n";
        print FH "$line\n\n";
        $count += 1;
    }
}

# if($number_begin > $n){
    # print "文件共计${n}行,起始行号超出最大值,提取0行\n\n";
# }


print "文件共计${n}行,已提取${count}行:$number_begin ~ $number_end\n\n";
close FH;

 

posted @ 2020-11-23 14:16  向日葵的跋涉  阅读(1162)  评论(0编辑  收藏  举报