Das mit dem cnt ist eigentlich nur ein Zeilen-Counter.
Wenn man sich die erstellte Datei 'page' mal ansieht, kommt man auf folgendes Skript (mit Erklärung):
HTML:
#!/bin/sh
number=$1
rm /var/tmp/page 2>/dev/null
#wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=detail&lastFormName=search_inv&ph=${num ber}&recFrom=1&hitno=0" 2>/dev/null
wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=search_inv&ph=${number}&recFrom=1&hitno=0" 2>/dev/null
let cnt=0;
while read reverse
do
if [ "$gotname" = "1" ];
then
# get address
# ab der Zeile mit dem Namen x Zeilen (hier 9) weiterspringen
# dort die Adresse nach selbem Muster extrahieren
let cnt=cnt+1;
if [ "$cnt" = "9" ]; then
address=${reverse}
address=${address%%\<*}
break;
fi
fi
# get name
case ${reverse} in
# In der Datei 'page' den Ausdruck 'entry' suchen - Bsp. 08.04.2008 in Zeile 263
*entry*)
# gesamte Zeile nach dem '>' als Name setzen
name=${reverse#*\>}
# jetzt gesamte Zeile vor dem '<' als Name setzen
name=${name%%\<*}
gotname=1
;;
esac
done < /var/tmp/page
echo "${name}" > /var/tmp/name
#echo "${address}" > /var/tmp/address
echo "${address}" | sed -e '{s/ / /g;s/,/;/g;s/; /;/g;}' > /var/tmp/address
Das muss man dann halt bei jeder Änderung im Örtlichen auch anpassen.
Ist eigentlich keine Hexerei...