Search code examples
awkgawknawk

Missing header in awk output


input:

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

This gives me a header:

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

but this doesn't:

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

How come?


Solution

  • If you always want to print the header then use:

    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}'