我正试图创建一个perl脚本来使用vim删除文件中的行。我想自动化这项任务,因为我必须删除这些行一遍又一遍。这是我到目前为止写的剧本,但它不起作用。
#!/usr/bin/perl
my $PROG = 'hwdr';
my $PERS = "/u/blh/scripts/70-persistent-net.rules";
open (IN, $PERS) || die "Cannot open file".$PERS."for read";
@lines = <IN>;
close IN;
open (OUT, ">", $PERS) || die "Cannot open file. Please run as root".$PERS."for write";
foreach $line (@lines)
{
$line =~ 8,10d ;
print OUT $line;
}
close OUT;
谢谢你的帮助
最佳答案
使用$.
跟踪行号:
while (<IN>) {
last if $. > 10;
print;
}
或使用就地编辑的单行版本:
perl -pi -e '$. > 10 && exit;' /u/blh/scripts/70-persistent-net.rules