awk输出中缺少标题

时间:2012-01-11 12:07:50

标签: awk gawk nawk

输入:

position fst
1 0.6
2 0.8
3 0.9
4 0.3
5 1

这给了我一个标题:

awk '{if ($2>=0.7) print $1}' input > output

但这不是:

awk '{if ($2<0.7) print $1}' input > output

怎么回事?

2 个答案:

答案 0 :(得分:3)

在第二个示例中,$2<0.7被解释为"fst"<"0.7" FALSE

您可以添加NR==1 ||以始终打印第一行:

$ awk 'NR==1 || $2<0.7{print $1}' input
position
1
4

答案 1 :(得分:1)

如果您始终要打印标题,请使用:

awk '{if (NR>1) {if ($2>=0.7) print $1} else print $1}'
awk '{if (NR>1) {if ($2<0.7) print $1} else print $1}'