0

入力:

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

どうして?

4

2 に答える 2

3

あなたの2番目の例で$2<0.7は、"fst"<"0.7"どちらがFALSE

NR==1 ||常に最初の行を印刷するように追加できます。

$ awk 'NR==1 || $2<0.7{print $1}' input
position
1
4
于 2012-01-11T12:36:32.337 に答える
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}'
于 2012-01-11T12:27:01.190 に答える