você quase faz isso
awk '(NR>1) && ($8 > 2 ) ' foo > bar
onde
-
NRé o número de registros (que é o número da linha) -
$8é oito campos -
&&é lógico e -
fooé o arquivo original, inalterado -
bararquivo resultante
A ação padrão implícita - é imprimir a linha de entrada atual
observe que o cabeçalho é distribuído de foo para bar, para mantê-lo
awk '(NR==1) || ($8 > 2 ) ' foo > bar
onde
-
||é lógico ou - a linha de entrada é impressa se NR == 1 ou se $ 8 > 2
atualizar
para especificar um intervalo
-
( ($8 >= -4) && ( $8 <= 4 ) )8º campo de -4 a 4 -
(NR == 1 ) || ( ($8 >= -4) && ( $8 <= 4 ) )mesmo, incluindo cabeçalho.