入力:
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番目の例で$2<0.7
は、"fst"<"0.7"
どちらがFALSE
NR==1 ||
常に最初の行を印刷するように追加できます。
$ awk 'NR==1 || $2<0.7{print $1}' input
position
1
4
常にヘッダーを印刷したい場合は、次を使用します。
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}'