0

タブ区切りファイルがあり、ファイルに存在する列に対していくつかの数学的計算を実行したいと考えています。

ファイル名sndf$tagいくつかの整数値にすると、最初に列 3 と 2 の値の差を見つけてから、列 4 の値をその値で$tag割り、再び結果を列 3 と 2 の値の差で割り、最後にします結果は 100 倍されます。

cat $sndf | gawk '{for (i = 1; i <= NF; i += 1) {
    printf "%f\t"  $3 -$2 "\t",  (((($4/"'$tag'")/($3-$2)))*100);
} printf "\n"}'>normal_wrt_region

コマンドは、出力ファイルに1回ではなく4回回答を書き込んでいます.....改善を提案できますか? ありがとうございました

解決策: 親愛なる皆さん、私は問題を解決しました。問題を読んで時間を割いてくれてありがとう。

4

1 に答える 1

2

コマンドは、出力ファイルに 1 回ではなく 4 回回答を書き込んでいます。改善を提案できますか?

必要がない場合は for ループを使用しないでください。

cat $sndf | gawk '{ printf "%f\t"  $3 -$2 "\t", (((($4/"'$tag'")/($3-$2)))*100) }'
于 2011-05-09T08:54:24.577 に答える