A:
It is clear from this code fragment that awk
is supposed to compare
$2
with "income"
. If you think about it (or change
awk
to echo
above), you will see that you have given the following to awk
:
A:
{if($2==income) { /* THIS LINE IS THE PROBLEM */
A:
What does awk
do with this? It compares $2
with the contents of
the variable income
. If income
has not been set, it compares
it with zero or with the null string. Instead, you want:
A:
{ if ($2 == "income") {
A:
which you can say with:
A:
case $col2 in
income)
awk '
{
if ($2 == "'$col2'") {
... awk code ...
}
}' $file1;;