【发布时间】:2015-03-20 00:09:33
【问题描述】:
我有一个包含以下数据(4 行 4 列)的文件
1 0.126082656 0.118439349 0.129554726
+1 0.129733599 0.128425124 0.127376228
+1 0.136149406 0.122109378 0.134386804
1 0.1077886 0.108754544 0.112025117
现在我需要将 1: 附加到 col2、2: 附加到 col3 3: 附加到 col4 等等直到最后一列,这样数据看起来像
1 1:0.126082656 2:0.118439349 3:0.129554726
+1 1:0.129733599 2:0.128425124 3:0.127376228
.
.
我尝试过使用以下代码,但我无法进行增量
#!/usr/bin/perl
use strict;
use warnings;
open(my $inp, "<train.train") or die $!;
my @amu = <$inp>;
close ($inp);
foreach my $line(@amu)
{
if ($line =~ s/(\d+\.\d+)/1:$1/g)
{
print $line;
print "\n";
}
}
请纠正我以适合所需的解决方案。
【问题讨论】:
-
正则表达式,如果我需要添加文本(:1:2:3.....)随着列的增加按以下格式1 1:0.126082656 2:0.118439349 3:0.129554726 + 1 1:0.129733599 2:0.128425124 3:0.127376228