Code: Select all
wget `lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"`\&id=1Code: Select all
wget `lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=3 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"`\&id=1Code: Select all
wget `lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=4 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"`\&id=1Code: Select all
wget `lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=5 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"`\&id=1Für das Neueste statt dem Höchstgevotesten statt xsortmode=high xsortmode=new einsetzen.
Ergänzung:
Was passiert hier überhaupt? Kanns ja mal zerlegen und erklären für alle die es interessiert:
Wir wollen den Dump der "Übersichtsseite", dabei müssen die & der GET-Parameter maskiert werden weil die sonst von der Shell als "Befehl in den Hintergrund legen" verstanden werden
Code: Select all
lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 Code: Select all
lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " xxx. url
wobei xxx für eine Zahl steht. Wir sind aber nur an der URLs interessiert und nicht an den Nummer, also splitten wir mit cut jede Zeile nach dem ersten "." (-d ".") und lassen uns alles dahinter (-f 2-) zurückgeben
Code: Select all
lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- Also filtern wir das ganze nur nach URLs mit content=NUMMER und da wir nur die erste URL davon brauchen hängen wir ein -m 1 dahinter
(das / aus der URL muss auch jeweils maskiert werden --> "\/")
Code: Select all
lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 Wir ersetzen also jedes Vorkommen von show.php durch download.php indem wir die ganze Ausgabe an sed mit der Ersetzungregel weiterleiten. Da der Punkt "." aus den Regular-Expression stammt müssen wir selbigen maskieren "\."
Code: Select all
lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"Code: Select all
wget `lynx --dump http://themes.kde.org/index.php?xsortmode=high\&page=0\&xcontentmode=2 | grep -e "^ *[0-9]*\.\ " | cut -d "." -f 2- | grep -e ".*http:\/\/themes.kde.org\/content\/show\.php.*content=[0-9]*.*" -m 1 | sed -e "s/show\.php/download\.php/"`\&id=1





