#!/usr/bin/perl
$file = shift
$matched = 0
$newFile = "balabalabala_tmp"
die "usage: ./test.pl filename\n" if !defined $file
open FD, "<$file" or die "can't open $file:$!"
open TMP, ">$newFile"
select TMP
while(<FD>) {
$line = $_
if(!$matched &&/nameserver/) {
print "nameserver 8\n"
$matched = 1
}
print $line
}
close FD
close TMP
unlink $file
rename $newFile, $file
做个marker,从文件中每读入一行就让marker加1.当marker跟你的x行相同的时候。插入你需要插入的内容。举个简单的例子:
open IN,"f:/a.txt"||die $! #读入文件
open OUT,">f:/b.txt"||die $!#输出文件
$marker=0
$x=5#要插入的行
while(<IN>){
$marker++
if($marker==5){
print OUT "5\tlala\n"
}
print OUT $_
}
当然你可把他写成一个函数,传参进去,那样更加灵活。希望有帮助~~。
open F1,"WN.txt" or die $!@array1=<F1>
open F2,"WN_1.txt" or die $!
@array2=<F2>
open o,">WN_OK.txt" or die $!
$k=-2$count=-1
foreach(@array2){
$count++ $k+=4
if(/LOT/){print o "$_" $i=$count-($k/5) print o "$array1[$i]"}
else {print o $_}
}#还有很多其他方法的,可以多尝试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)