现在有个文件:
#Maths#
#Chinese#
#English#
我现在有一堆数据,比如说成绩,不同科目的成绩我想分类添加到相应行的后面去,格式为#XXX#XXX。
添加完之后为:
#Maths#99#89#.....
#Chinese#80#70#...
#English#77#88#....
求指导。。。
成绩获取是有个标志,是数学还是语文还是英语的。
可以理解为变量,我主要是想知道怎么将成绩按照类型添加到文件中,成绩我已经获取成功了,所以可以定义个hash,或怎么加变量到第一行后,第二行后。非常感谢。
追答我主要想知道 "类型" 是甚麼 ? 怎样的类型 ? 怎样的结构 ? hash 是怎样的 hash ? 变量是怎样的变量? 内容是甚麼 ? 你只说著只有自己懂的状况, 没人帮到你的
追问我只是想知道怎么把数据写到文件每一行后面,数据用变量存的,每次获取一个科目和成绩。
我根据科目知道要把成绩写到哪一行,但是不知道怎么指定写到文件某一行后面。
追答"数据用变量存的", 从这句话我只能了解到你不是用纸笔写下来或是用手机拍下来的.. 但我依然不知道这 "变量" 是甚麼, 怎样的结构... ( 笼统点讲, 在编程里所有数据都是变量, 相对的只有 constant )
怎样为之 "每次" , 是每次都读同一个科目, 直到完了再到下一个科目? 还是 数学, 中文, 英文, 数学, 中文, 英文 地循环 ? (可能你最後告诉我"每次"其实是一个人的三个科目 ? )
以你的输入和输出格式而言, "怎么指定写到文件某一行后面" 是没有一个直接的办法能做得到的, 就算你用到最底层的 syswrite() 也做不到
无论如何, 我依然没法想像你的情况.. 要不你再想想该怎麼提问, 要不就能希望有其他人能帮到你了, Good Luck! =)
基本上是perl先运行一个程序,获取到一个成绩和对应的科目,然后我就要把它存到文件对应的行后面,然后再运行同样的程序,再获取,这样子,每次获取到的可能是不一样的科目。
my $score = 90; //90是获取到的
my $type = "CHINESE"; //Chinese也是获取到的。
先谢谢了。
下次你最好不要再"基本上"了, 可以是"具体来说"吗 ?
perl 如何对文件每一行进行添加内容
比如添加行号 my $H;open($H, $f) || die;my @cont = <$H>;my @cont_line = map {$_+1 . " " . $cont[$_]} 0..$#cont;close $H;open $H, '+>', $f;print $H join("\\n", @cont_line);close $H;
perl 如何在指定行插入字符串?
做个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)...
用perl 语言,把一个文件里面的一部分内容写到另一个文件里的方法。谢谢...
如果只要求倒数第二列不重复,则:!\/usr\/bin\/perl# test.pluse strict;my %keys;while(<>) { my @ary = split \/\\t\/; if(! $keys{$ary[-2]}) { $keys{$ary[-2]} = 1; print "$ary[-2]\\t$ary[-1]"; }}如果要求两列都不重复,则:!\/usr\/bin\/perluse s...
如何在使用Perl来修改文本文件,要求在文件中出现字符('或,'时在中间...
给一个比较完美的方案:!perl -w use strict;AUTHOR: niejieqiang while (<>) { s\/('.*?')\/&rm($1)\/ge;print;} sub rm { my $str = $_[0];str=~s\/^\/N\/;return $str;}
如何用perl 在TXT文件中在第一列插入数值并删除 固定列后面其他的数值...
!#usr\/bin\/perl -w use strict;my $file=shift;open IN,"<",$file;while(<IN>){ my @line=split\/\\t\/,$_;print "插入数值\\t$line[0]\\$line[1]\\n"#不输出固定列后面的数值即可 }
怎样用perl添加数据到文件头部
不大的话可以这样。。。先写一个临时文件,临时文件里写helloworld 然后一行一行把原来文件写到临时文件里。删除原来的文件 把临时文件拷到原来文件那个地方 删除临时文件 完毕
perl 在某一个匹配行前面添加一行新的内容
!\/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...
档案存取Perl的档案存取
在Perl程式中,利用`open`指令进行档案操作。例如,`open FILE, "file.txt";`这一行代码能成功开启名为“file.txt”的档案。接着,通过小于符号``则用于向档案写入。在操作档案时,务必确保档案存在,否则可能会出现“开启档案失败:No such file or directory”的错误提示。在使用大于符号`>`时,若...
perl 可以对文件完成先遍历再修改的操作吗?
open(LOG,">>a.txt")a=<LOG>; #为了记录文件的行数 marker=0;while(<LOG>){ marker++;if ($marker eq scalar(@a)){ print LOG "输入你要添加的";} }
perl如何替换文本指定内容
【方法一】1.批量替换用sed:sed 's\/a\/b\/g' ##将a 换成b 2.批量替换文件内容方法,命令结构如下:find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'3.下面例子将当前目录及所有子目录下的所有pom.xml文件的”http:\/\/repo1.maven.org\/maven2“...