H
Hansa
Hallo,
ich will mit einem shell skript tote links auf einer Homepage finden. Ich hab das auch soweit, daß man rausbekommt ob eine Seite nicht vorhanden ist oder ihre links ausliest.
So und nun zum Problem. Da ich Schleifen verhindern will bzw. muß sollte ich ja abfragen ob der link schonmal aufgetaucht ist. Wie mach ich das. Gibt es da nen Array oder sogar nen Hashtable den man benutzen kann ?
--------------------------------------------------------------------------------
#!/bin/sh
function link {
for i in `lynx -connect_timeout=1 -width=1000 -dump "$1" | awk '{if(match($0, /The requested URL .* was not found on this server/) != 0) {print "massivedata" ; exit;} else {if(match($0, /http:/) !=0){print substr($0, match($0, /http:/), length($0) );} } }'`;
do
if [ $i = "massivedata" ]
#toter link wird mit seite auf der er ist in erg gespeichert
then echo $1"|"$2 >> erg.txt
# hier muss die überprüfung rein ob der link schon da war oder nicht ? wie mach ich das ???
else if [ ]
echo $i >> urls.txt
link $i $1
fi
done;
}
function main {
link http://134.34.53.250 http://134.34.53.250
}
main
--------------------------------------------------------------------------------
und danke schonmal
cya
ich will mit einem shell skript tote links auf einer Homepage finden. Ich hab das auch soweit, daß man rausbekommt ob eine Seite nicht vorhanden ist oder ihre links ausliest.
So und nun zum Problem. Da ich Schleifen verhindern will bzw. muß sollte ich ja abfragen ob der link schonmal aufgetaucht ist. Wie mach ich das. Gibt es da nen Array oder sogar nen Hashtable den man benutzen kann ?
--------------------------------------------------------------------------------
#!/bin/sh
function link {
for i in `lynx -connect_timeout=1 -width=1000 -dump "$1" | awk '{if(match($0, /The requested URL .* was not found on this server/) != 0) {print "massivedata" ; exit;} else {if(match($0, /http:/) !=0){print substr($0, match($0, /http:/), length($0) );} } }'`;
do
if [ $i = "massivedata" ]
#toter link wird mit seite auf der er ist in erg gespeichert
then echo $1"|"$2 >> erg.txt
# hier muss die überprüfung rein ob der link schon da war oder nicht ? wie mach ich das ???
else if [ ]
echo $i >> urls.txt
link $i $1
fi
done;
}
function main {
link http://134.34.53.250 http://134.34.53.250
}
main
--------------------------------------------------------------------------------
und danke schonmal
cya
Zuletzt bearbeitet von einem Moderator: