Il file su cui si esegue lo script ha terminazioni di riga DOS. È possibile che sia stato creato su un computer Windows.
Usa dos2unix
per convertirlo in un file di testo Unix.
In alternativa, eseguilo attraverso tr
:
tr -d '\r' <input.txt >input-unix.txt
Quindi usa input-unix.txt
con il tuo altrimenti corretto awk
codice.
Per modificare il awk
code invece del file di input:
awk -F, '$7 == "-99\r"' input.txt >output.txt
Questo tiene conto del ritorno a capo alla fine della riga.
Oppure,
awk -F, '$7 + 0 == -99' input.txt >output.txt
Questo forza la settima colonna ad essere interpretata come un numero, che "rimuove" il ritorno a capo.
Allo stesso modo,
awk -F, 'int($7) == -99' input.txt >output.txt
rimuoverebbe anche il \r
.
awk -F, '{if($7==-99)print $0}'
lo farà...