Awk, versuche NICHT, durch Null zu teilen

8

Ich versuche, zwei Felder (wo manchmal der Teiler Null sein könnte) mit Awk zu teilen.

Ich dachte, das würde funktionieren: awk -F, '{if ( != 0) print /}' <some file>

Aber es drosselt mit fatal: division by zero attempted , obwohl ich dachte, dass die "if" Bedingung darauf geachtet hat, nicht zu teilen, wenn Feld 6 Null ist.

Was übersehe ich?

    
phileas fogg 26.10.2011, 15:52
quelle

1 Antwort

15

"bar"! = 0. Wenn $ 6 eine Zeichenkette ist, schlägt der Vergleich fehl, aber wenn sie in eine Zahl für die Division konvertiert wird, wird sie zu Null ausgewertet. Verwenden Sie

%Vor%

stattdessen.

    
William Pursell 26.10.2011, 15:58
quelle

Tags und Links