我正在使用 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。