Отсутствует заголовок в выводе awk - PullRequest
0 голосов
/ 11 января 2012

ввод:

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 ]

3 голосов
/ 11 января 2012

Во втором примере $2<0.7 интерпретируется как "fst"<"0.7", что составляет FALSE

. Вы можете добавить NR==1 ||, чтобы всегда печатать первую строку:

$ awk 'NR==1 || $2<0.7{print $1}' input
position
1
4
1 голос
/ 11 января 2012

Если вы всегда хотите напечатать заголовок, используйте:

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