This part won't work either:
country_codes = `ls .`
First, don't have spaces around the = sign.
Second I think you want something like:
country_codes=(`ls`)
This will create an array variable which you access like "${country_code[5]}" where 5 is the index.
An other option is to use the form:
for file in $(ls .)
do
something
done
None of the files can contain spaces. Zip codes don't, but it seems odd to have files named after zipcodes.
Consider a file of zipcodes.
for file in $(cat zipcodes)
do
something
done
Also notice that you end do with done and not end.
The
www.tldp.org website has an "Advanced Bash Scripting Guide" which I would highly recommend. It is composed entirely of commented examples. Most people are better are learning by examples than reading a manual. Also you can try them out yourself, print out variables, etc. to study the example code.
In the bash shell, you can enter "help command" for many built in commands such as "for". This can help as a reminder of what you have already learned.