awk を使用してファイルに対していくつかの簡単な計算を行っていますが、出力の書式設定を正しく行うことができません。OFS は何らかの理由で最初の行にのみ適用され (つまり、BEGIN ブロック内のみ)、他の行ではフィールド間に単一のスペースが挿入されます。
入力:
title c1 c2 c3 n
AA 14 6 3 40
BB 8 2 2 38
一発ギャグ:
cat file.txt | awk -F'\t' 'BEGIN {OFS="\t"; print "Title","Freq1","Freq2","Freq3","Total"}; NR>1{printf "%s %.3f %.3f %.3f %d\n", $1, $2/$5, $3/$5, $4/$5, $5;}' > file2.txt
BEGIN からヘッダーを削除しようとしましたが、違いはありませんBEGIN{FS="\t";OFS="\t";...}
。私はcygwinでawkを使用しています。