Bash punta una freccia su "else" e dice "errore di sintassi" in un tono lamentoso provocatorio.Awk if else issues
awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out
Perché?
Bash punta una freccia su "else" e dice "errore di sintassi" in un tono lamentoso provocatorio.Awk if else issues
awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out
Perché?
Hai dimenticato le parentesi attorno al blocco if e un punto e virgola tra le istruzioni nel blocco.
awk '{if($3 != 0) {a = ($3/$4); print $0, a;} else if($3==0) print $0, "-" }' file > out
Prova il codice
awk '{s=($3==0)?"-":$3/$4; print s}'
Ancora ottenere la divisione per zero tentato – AWE
@AWE: Aggiungere un test a che fare con '$ 4' essere 0. –
ho fatto, poi ho AWK per esso e doesn esiste – AWE