2

私のAWKコマンドは次のとおりです。

awk'BEGIN {count=0} {count=count+($3-$2)} END {print count}' zebrafish

Perl スクリプトで使用するにはどうすればよいですか?

4

5 に答える 5

3

Perl と AWK を一緒に使用している理由は何ですか? AWK コードが既に作成されていても、Perl で拡張する場合は、Perl に変換するだけで十分です。例えば:

sub count_diffs($filename) {
  open my $f, "<$filename";
  my $count = 0;
  while (<$f>) {
    my @F = split ' ';
    $count += $F[2]-$F[1];
  }
  return $count;
}

my $count = count_diffs('zebrafish');

コマンドライン オプションを使用して、AWK コードが行うことを行う Perl ワンライナーを作成することもできます。

perl -lane '$count += $F[2]-$F[1]; END {print $count}'

しかし、その形式では、大規模な Perl プログラム内に埋め込むのは、AWK コードよりもはるかに簡単ではありません。

于 2013-10-26T18:49:02.090 に答える