El archivo en el que ejecuta el script tiene finales de línea de DOS. Puede ser que se haya creado en una máquina con Windows.
Usa dos2unix
para convertirlo a un archivo de texto Unix.
Alternativamente, ejecútelo a través de tr
:
tr -d '\r' <input.txt >input-unix.txt
Luego usa input-unix.txt
con su correcto awk
código.
Para modificar el awk
código en lugar del archivo de entrada:
awk -F, '$7 == "-99\r"' input.txt >output.txt
Esto tiene en cuenta el retorno de carro al final de la línea.
O,
awk -F, '$7 + 0 == -99' input.txt >output.txt
Esto obliga a que la séptima columna se interprete como un número, lo que "elimina" el retorno de carro.
Del mismo modo,
awk -F, 'int($7) == -99' input.txt >output.txt
también eliminaría el \r
.
awk -F, '{if($7==-99)print $0}'
hará eso...