Soubor, na kterém spustíte skript, má konce řádků DOS. Je možné, že byl vytvořen na počítači se systémem Windows.
Použijte dos2unix
převést jej na textový soubor Unix.
Případně jej spusťte přes tr
:
tr -d '\r' <input.txt >input-unix.txt
Poté použijte input-unix.txt
s jinak správným awk
kód.
Chcete-li upravit awk
kód místo vstupního souboru:
awk -F, '$7 == "-99\r"' input.txt >output.txt
To bere v úvahu návrat vozíku na konci řádku.
Nebo,
awk -F, '$7 + 0 == -99' input.txt >output.txt
To vynutí interpretaci 7. sloupce jako čísla, které „odstraní“ návrat vozíku.
Podobně
awk -F, 'int($7) == -99' input.txt >output.txt
by také odstranil \r
.
awk -F, '{if($7==-99)print $0}'
udělá to...