[PLUG] awk syntax error, part ii

Larry Brigman larry.brigman at gmail.com
Fri May 25 18:39:40 UTC 2012


On Fri, May 25, 2012 at 10:37 AM, Rich Shepard <rshepard at appl-ecosys.com> wrote:
>   I've looked in the ORA book and on line without seeing what I've written
> incorrectly in this script:
>
> #! /usr/bin/awk -f
>
> BEGIN { FS = OFS = "|"}
>
> if ($3 ~ /Ag/ && $4 ~ /0.000/) { print $1, $2, $3, "-0.005" };
> else if ($3 ~ /Alk_tot/ && $4 ~ /0.000/) { print $1, $2, $3, "-1.000" };
> else if ($3 ~ /Cr/ && $4 ~ /0.000/) { print $1, $2, $3, "-0.030" };
> else if ($3 ~ /Fe/ && $4 ~ /0.000/) { print $1, $2, $3, "-1.200" };
> else if ($3 ~ /Mg/ && $4 ~ /0.000/) { print $1, $2, $3, "-1.000" };
> else if ($3 ~ /NO3-NO2/ && $4 ~ /0.000/) { print $1, $2. $3, "-0.020" };
> else if ($3 ~ /Na/ && $4 ~ /0.000/) { print $1, $2, $3, "-0.530" };
> else if ($3 ~ /Sb/ && $4 ~ /0.000/) { print $1, $2, $3, "-0.010" };
> else if ($3 ~ /Se/ && $4 ~ /0.000/) { print $1, $2, $3, "-0.003" };
> else if ($3 ~ /TDS/ && $4 ~ /0.000/) { print $1, $2, $3, "-15.000" };
> else { print $1, $2, $3, $4 }
>
I think your problem lies at the end of each if  or else if statement
as you have
a semi-colon which terminates the operation.  You can move the semi-colon
to inside the } or remove it altogether.

>   awk tells me there's a syntax error at the start of each 'if' and 'else
> if' line. I've seen examples without the semi-colon and with it, but I've
> not found what I'm doing incorrectly. I also tried wrapping the body of the
> script in {} but that makes no difference, either.
>
>   A clue is needed.
>
> Rich
>
>
>
> _______________________________________________
> PLUG mailing list
> PLUG at lists.pdxlinux.org
> http://lists.pdxlinux.org/mailman/listinfo/plug



More information about the PLUG mailing list