提取每第n个数字

dac*_*dac 2 perl

我想从文件中提取每个第3个数字(42.034,41.630,40.158等),参见示例 -

42.034  13.749  28.463  41.630  12.627  28.412  40.158  12.173  30.831  26.823
12.596  32.191  26.366  13.332  32.938  25.289  12.810  32.419  23.949  13.329
Run Code Online (Sandbox Code Playgroud)

任何使用perl脚本的建议?

谢谢,dac

Eug*_*ash 8

您可以将文件的内容拆分为单独的数字,并使用模运算符提取每个第3个数字:

my $contents = do { local $/; open my $fh, "file" or die $!; <$fh> };    
my @numbers = split /\s+/, $contents;

for (0..$#numbers) {
    $_ % 3 == 0 and print "$numbers[$_]\n";
}
Run Code Online (Sandbox Code Playgroud)