perl 如何在指定行插入字符串?

比如:1aaaaaa2bbbbb3...................n.........我想在X行插入lala,怎么做?... 比如:
1 aaaaaa
2 bbbbb
3 .........
. .........
n .........
我想在X行插入lala,怎么做?
展开
 我来答
生物信息研究者
推荐于2016-06-07 · TA获得超过524个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:205万
展开全部
做个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 IN,"f:/a.txt"||die $!;   #读入文件
open OUT,">f:/b.txt"||die $!; #输出文件
$marker=0;
$x=5; #要插入的行
while(){
$marker++;
if($marker==5){
print OUT "5\tlala\n";
}
print OUT $_; #这行是什么意思??
}

文中倒数第2行是什么意思?
输出文件和原来的文件不是同一个吗?
追答
嗯 是同一个啊。不是同一个的话,你不就把你原来的数据删掉了吗?只是在原来的基础上在特定的位置上插入一条啊。你要的不就是往里面插入一条数据吗?难道我理解错了~~??你可以先运行下嘛。如果不对再讨论讨论~呵呵呵
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TableDI
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT... 点击进入详情页
本回答由TableDI提供
wegkiwong
2012-05-22 · TA获得超过516个赞
知道答主
回答量:96
采纳率:0%
帮助的人:53万
展开全部
我只会这么个笨方法:
假设x=5 原数据在test.txt中
$string="lalala\n";
open(IN,"test.txt")||die"Can't open\n";
@array=<IN>;
close(IN);
for($i=0;$i<scalar(@array);$i++)
{
if($i!=5)
{
push(@arr,$array[$i]);
}
else
{
push(@arr,$string);
}
}
print @arr;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
willshdanvis
2012-05-22 · TA获得超过1018个赞
知道大有可为答主
回答量:2042
采纳率:100%
帮助的人:1349万
展开全部
#! usr/bin/perl
my $row=n; #------n就是你设的第几行
my $i=1;
open IN,"< 1.txt"; #--源文件
open OUT,"> out.txt" #-----输出文件
while(<IN>){
print OUT $_ if($i != $row);
print OUT "$_\nlala\n" if($i == $row);
$i++;
}
close IN;
close OUT;
追问
能不能在同一个文件中进行操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式