Передача эхом чего-то с несколькими кавычками и ключевыми символами (&, $, ! и т.д.)

Вот один из способов сделать это в perl :

#!/usr/bin/perl

use strict;

my @lines=();

# read and sum the columns of all input files.
foreach my $file (@ARGV) {
  my $lc=0;   # line counter

  open(FH,'<',$file) or die "couldn't open $_ for write: $!\n";

  while (<FH>) {
    # split columns by whitespace.  change to suit your input.
    my @fields=split;

    my $fc=0;   # field counter

    while ($fc < @fields) {
      $lines[$lc]->[$fc] += $fields[$fc++];
    };
    $lc++;
  };

  close(FH);
};

# now output the summed lines
foreach my $lc (0..@lines-1) {
  # output columns separated by a TAB (\t).  Change as required.
  print join("\t", @{ $lines[$lc] } ),"\n";
}

Суммирует столбцы для каждой строки для всех входных файлов.

Нечисловые значения в полях обрабатываются как 0.

Работает с файлами, имеющими одинаковое или разное количество строк.

Это работает даже в том случае, если файлы содержат разное количество полей в строке (хотя вывод может быть не таким, как вы ожидаете, или даже не пригодным для использования - не рекомендуется).

5
13.06.2015, 01:23
0 ответов

Теги

Похожие вопросы