我试图转置一个只包含大数字矩阵的文本文件,根本没有分隔符。我希望有一个相对简单的解决方案,因为我无法解决这个问题,并且对使用大型文件进行编程是个新手。
输入文件:
01120154031
22014141423
21312221323
期望输出
022
121
103
211
042
112
542
411
043
322
133
非常感谢任何帮助
答案 0 :(得分:0)
#!/usr/bin/env perl
use strict;
use warnings;
my @lines = <>;
my $len = length($lines[0]);
for (my $i = 0; $i < $len; $i++)
{
for (my $j = 0; $j < scalar(@lines); $j++)
{
print substr($lines[$j], $i, 1);
}
print "\n";
}
这只是假设线条长度相同;如果他们不是,GIGO。
答案 1 :(得分:0)
以下是使用awk
的解决方案:
awk -v FS="" '
{
for(i=1; i<=NF; i++) {
num[i] = (num[i] ? num[i] $i : $i==0 ? "0" : $i)
}
}
END {
for(i=1; i<=NF; i++) print num[i]
}' file
022
121
103
211
042
112
542
411
043
322
133