Geokoordinaten aus Adressen ermitteln

Hier ein Skript, das mit Hilfe von GoogleMaps Geokoordinaten zu Adressen sucht, die in einer Textdatei stehen.

Die Geokoordinaten werden in die Datei adressliste.gpx geschrieben. Die zu suchenden Adressen stehen in einer txt-Datei (adressen.txt). Die einzelnen Felder sind durch ein „,“ getrennt:
Vorname,Nachname,Straße,Hausnummer,PLZ,Ort,Icon-Nr

#! /bin/bash
outfile="adressliste.gpx"
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>" > "$outfile"
echo "<gpx xmlns:xsi=\"\" version=\"1.1\" xmlns:gpxtpx=\"\" xmlns=\"\" xmlns:rmc=\"\" creator=\"\" xsi:schemaLocation=\"\" xmlns:gpxx=\"\" xmlns:ql=\"\">" >> "$outfile"
for j in $(cat adressen.txt); do
 name1=`echo $j | cut -d, -f1`
 name2=`echo $j | cut -d, -f2`
 name="$name1 $name2"
 addr1=`echo $j | cut -d, -f3`
 addr2=`echo $j | cut -d, -f4`
 addr3=`echo $j | cut -d, -f5`
 addr4=`echo $j | cut -d, -f6`
 addr="$addr1+$addr2+$addr3+$addr4"
 icon=`echo $j | cut -d, -f7`
 case "$icon" in
 "1") icon="Pin, Blue";;
 "2") icon="Pin, Red";;
 esac
 wget -O ~tmp.csv "http://maps.google.com/maps/geo?q=$addr&output=csv&sensor=false&key=abcdefg" 2> /dev/null
 quality=`cat ~tmp.csv | cut -d, -f2`
 coordinatesL=`cat ~tmp.csv | cut -d, -f3`
 coordinatesB=`cat ~tmp.csv | cut -d, -f4`
 echo $quality - $name - $addr1 $addr2, $addr3 $addr4 - $coordinatesL $coordinatesB 
 echo "<wpt lon=\""$coordinatesB"\" lat=\""$coordinatesL"\">" >> "$outfile"
 echo "<name>$name</name>" >> "$outfile"
 echo "<desc>$addr1 $addr2" >> "$outfile"
 echo "$addr3 $addr4</desc>" >> "$outfile"
 echo "<sym>$icon</sym>" >> "$outfile"
 echo "</wpt>" >> "$outfile"
done
echo "<extensions/>" >> "$outfile"
echo "</gpx>" >> "$outfile"
exit