Chinaunix
标题:
怎样来行和列转换
[打印本页]
作者:
estbio
时间:
2010-11-27 14:56
标题:
怎样来行和列转换
比如文件:
abcde
abcde
abcde
怎样才能把行转为列,如:
aaa
bbb
ccc
ddd
eee
作者:
iamlimeng
时间:
2010-11-27 15:21
#!/usr/bin/perl
use strict;
use warnings;
my @rows;
while (<DATA>) {
chomp;
my @data = split '';
for (0..$#data) {
$rows[$_] .= $data[$_];
}
}
print "$_\n" foreach (@rows);
<STDIN>;
__DATA__
abcde
abcde
abcde
复制代码
作者:
小鹭
时间:
2010-11-27 17:52
perl -aF'' -ne '$a.=$F[0];$b.=$F[1]; $c.=$F[2]; $d.=$F[3]; $e.=$F[4];END{print "$a\n$b\n$c\n$d\n$e\n"}' your_file.txt
作者:
wfnh
时间:
2010-11-27 21:04
本帖最后由 wfnh 于 2010-11-27 21:26 编辑
稍微复杂点···用map实现·
use strict;
use 5.010;
my @array;
while(<DATA>)
{
chomp;
push @array,[split ''];
}
my @new_array =
map { my $x = $_;
[ map { $array[$_][$x] } 0 .. $#array ];
} 0 .. $#{$array[0]};
foreach my $item (@new_array)
{
print "$item->[0] $item->[1] $item->[2]\n";
}
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2