awk スクリプトから取得した値を使用して、Perl で配列を作成したいと考えています。次に、Perl でそれらを計算します。
テキストファイルを保存するプログラムを実行する私のPerlは次のとおりです。
my $unix_command_dsc = (`./program -s test.fasta saved_file.txt`);
my $dsc_run = qx($unix_command_dsc);
これで、テキスト ファイルに保存されたデータを解析する Awk ができました。
#!/usr/bin/awk -f
BEGIN{ # Initialize the values to zero. Note, done automatically also.
sumc4 = 0
sumc5 = 0
sumc6 = 0
}
/^[1-9][0-9]* residue/ {next} #Match line that begins with number and has word 'residue', skip it.
/^[1-9]/ { #Match line that begins with number.
sumc4 += $4 #Add up the values of the nth column into the variables.
sumc5 += $5
sumc6 += $6
print $4 "\t" $5 "\t" $6 #This will show the whole columns.
}
END{
print "sum H" "\t" "sum E" "\t" "sum C"
print sumc4 "\t" sumc5 "\t" sumc6
}
次のコマンドを使用して、ターミナルからこの Awk を実行します。
./awk_program.txt saved_file.txt
このデータを awk の print ステートメントから perl の配列に収集する方法はありますか?
私が試したのは、その awk スクリプトを perl で実行することです。
my $unix_command_awk = (`./awk_program.txt saved_file.txt`);
my $awk_run = qx($unix_command_awk);
しかし、perl は、データがコマンドであると考えているように、エラーとコマンドが見つかりませんでした。印刷するのではなく、欠落している awk に STDOUT が必要ですか?