请问,如何将一个文件按列输出到不同文件中?
时间:2011-03-06
来源:互联网
- 1 2 3 4 5 6 7 8 9 0
- 1 2 3 5 7 9 8 5 6 0
- 2 4 3 2 1 5 6 7 8 9
- ...
- 1
- 1
- 2
- 2
- 2
- 4
请问下用perl如何实现,谢谢!
PS:由于我的原始文件列数较多(几百个),人工弄的话要弄好久,而且这些列里面可能还有错误,人工弄的话可能不只弄一次,请各位帮帮忙,非常感谢!
作者: xp198766 发布时间: 2011-03-06
不一定是效率最高,但可以实现:
- use strict;
- use warnings;
- use IO::File;
- open IN,"yourfile" or die "can't open file:$!\n";
- my %col;
- while(<IN>){
- chomp;
- my @lines=split / /;
- foreach my $line (0..$#lines) {
- push @{$col{"$line"}},$lines[$line];
- }
- }
-
- foreach my $k (keys %col){
- my $fh=IO::File->new("> $k.txt") or die "can't create fh:$!\n";
- print $fh join("\n",@{$col{$k}});
- }
-
- close IN;
作者: x9x9 发布时间: 2011-03-06
回复 x9x9
非常感谢!
我运行后显示:
- Global symbol "%hash" requires explicit package name at te line 11.
- Execution of te aborted due to compilation errors.
line 11就是上面的line 10
作者: xp198766 发布时间: 2011-03-06
作者: x9x9 发布时间: 2011-03-06
谢谢耐心解答,运行之后,仅出现了一个0.txt文件 里面内容和原始文件一样……
作者: xp198766 发布时间: 2011-03-06
作者: x9x9 发布时间: 2011-03-06
非常感谢!我还以为split那里,你是专门那样写的呢,谢谢!OK了!
作者: xp198766 发布时间: 2011-03-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28