怎样添加缺少的行,用空白填充???
时间:2010-12-20
来源:互联网
本帖最后由 nb509 于 2010-12-20 10:15 编辑
我有一个文本,每行用\t隔开,比如:第4列的数字代表每一行所在的行数。现在的问题是,缺少的行数,我想用空白行填充。原来文本在1000万行以上,需要写入到另一个文件。
如:
a b c 1
1 s e 3
2 f e 6
输出:
a b c 1
1 s e 3
2 f e 6
我有一个文本,每行用\t隔开,比如:第4列的数字代表每一行所在的行数。现在的问题是,缺少的行数,我想用空白行填充。原来文本在1000万行以上,需要写入到另一个文件。
如:
a b c 1
1 s e 3
2 f e 6
输出:
a b c 1
1 s e 3
2 f e 6
作者: nb509 发布时间: 2010-12-20
本帖最后由 nb509 于 2010-12-20 11:08 编辑
复制代码
这里的 else{print "\n";} 打印了很多\n,我是想如果在while循环中执行一次{print OUT $_;} ,就不else。如果没有执行{print OUT $_;} 执行一次else{print "\n";}。
- for($i=1;$i<=10;$i++)
- {open(FILE,"t.txt") or die"$!";open(OUT,">>temp1.txt") or die"$!";
-
- while (<FILE>) {
-
- if (/^(?:\S+\t){3}(\S+)/ and $1 eq $i){print OUT $_;} else{print "\n";}
-
- }
- close FILE;
- close OUT; }
作者: nb509 发布时间: 2010-12-20
perl -ane 'print "\n"x($F[$#f]-$a-1);print;$a=$F[$#F]' file
作者: 99超人 发布时间: 2010-12-20
- #!/usr/bin/perl
-
- use strict;
- use warnings;
-
- my $file = "Your File";
-
- open(F,$file);
-
- my $line = 0;
-
- while(<F>){
- $line++;
- my @item = split("\t",$_);
- while($line < $item[3]){
- print "\n";
- $line++;
- }
- print $_;
- }
- close F;
作者: phoenix_perl 发布时间: 2010-12-20
$.不会和输出行(文件的第四列)匹配上.
而且code最好写的清晰一些,不然不好维护和修改.
而且code最好写的清晰一些,不然不好维护和修改.
作者: phoenix_perl 发布时间: 2010-12-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28