hi
expected is to print single 'obsolete' or single 'input error' text (when conditions are met), but for the first if condition print (in this example):
1 3 fields, a>10
2 3 fields, a>10
what is wrong with "exit" in code below?
expected is to print single 'obsolete' or single 'input error' text (when conditions are met), but for the first if condition print (in this example):
1 3 fields, a>10
2 3 fields, a>10
what is wrong with "exit" in code below?
Code:
# echo "a b c\na b c"|awk -va=11 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print "obsolete"; else print "input error"}'
1 3 fields, a>10
2 3 fields, a>10
# echo "a b c\na b c"|awk -va=10 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print "obsolete"; else print "input error"}'
input error
input error
# echo "a b c\na b c"|awk -va=10 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print "obsolete"; else print "input error";exit}'
input error
# echo "a b c\na b c"|awk -va=11 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print "obsolete"; else print "input error";exit}'
1 3 fields, a>10
# echo "a b\na b"|awk -va=10 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print "obsolete"; else print "input error";exit}'
obsolete
# echo "a b c\na b c"|awk -va=11 '{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print {"obsolete";exit}; else {print "input error";exit}}'
Syntax Error The source line is 1.
The error context is
{if (NF==3&&a>10) print NR,NF" fields, a>10"; else if (NF==2&&a<=10) print >>> { <<<
awk: 0602-502 The statement cannot be correctly parsed. The source line is 1.
Syntax Error The source line is 1.
#