1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Problem-Hilfestellung für ein Skript erbeten

Discussion in 'Linux-Distributionen' started by Doofchen, Jun 7, 2005.

Thread Status:
Not open for further replies.
  1. Doofchen

    Doofchen Kbyte

    Hallo Linux-Gurus und sonstige Wissende!

    Ist es Möglich mit einem Script eine Zahl zum Weiterverarbeiten abzuholen welche auf einer HTML-Seite dargestellt wird (KDE-Oberfläche darunter) und aus dem Internet abgerufen wurde?

    Manuell funktioniert es mit: Zahl hinterlegen, copy in die Ablage und daraus in eine Editor-Seite kopieren.
    So ähnlich stelle ich mir auch das Skript vor, finde aber absolut keinen Ansatz um meine Hausaufgaben machen zu können (Suche in Foren, im Internet oder in der Literatur).

    Alleine eine Hilfestellung zum Ansatz des Problems würde mir schon sehr helfen - ideal wäre natürlich ein Beispiel.

    Vielen Dank im voraus für Eure Mühe Lernende zu unterstützen.

    Schöne Grüße Rosi
     
  2. Affirmation

    Affirmation Kbyte

    Wenn du mit "Script" ein Shell-Script meinst, dann geht das beispielsweise in folgenden Schritten

    1. Runderladen der HTML-Seite
    wget <url>

    2. Den Inhalt kannst du dann mit "cat an den Bildschirm senden und dann mit "grep" parsen - je nachdem was genau du suchst (wenn die HTML-Seite nur die Zahl enthält musst du z.B. nichts parsen usw.).
    Hierzu sei dir das Manual ans Herz gelegt :)

    Das Passing an die bash (oder einen anderen Interpreter) würde in etwa so laufen:

    GREPOUT=$(cat <dateiname> | grep <suche>)
     
  3. Doofchen

    Doofchen Kbyte

    Hallo @Affirmation,

    vorerst vielen Dank für den Beitrag!

    Ja, es ist ein Shell-Skript gemeint.

    Der Vorschlag mit wget ist Super. Habe es gleich einmal versucht.

    Dabei hat sich die Schwierigkeit aufgetan, daß die von wget erzeugte HTML-Quelldatei mit einem EOF (00) als erstem Zeichen beginnt. Damit sind mir die weiteren vorgeschlagenen Schritte verwehrt.
    Lange habe ich gesucht und dann mit dem Hex-Editor diese Entdeckung gemacht.

    Schon wieder ein Fragezeichen. Wenn EOF via dem Hexeditor manuell entfernt ist, dann lässt sich die Datei wieder bearbeitet - aber wie wäre dies mit einem Shell-Skript zu bewältigen?

    Gibt es möglicherweise einen binären 'sed'?

    Schöne Grüße Doofchen
     
  4. Doofchen

    Doofchen Kbyte

    Nachtrag.

    Hallo@Affirmation,

    dank Ihrer Hilfe es hat geklappt! 'sed' kümmert sich nicht um ein führendes EOF in der Datei, man kann es mit ihm also eliminieren um eine korrekte Textdatei zu erhalten.

    Möglicherweise kann man das Skript noch verbessern aber meine Lösung sieht so aus:

    #!/bin/bash

    # GetFritz!Dat.sh. Version 00.01, 09.06.2005 #
    # Allabendliches Auslesen und Ablegen der Verbindungsdaten aus der Fritz!Box; erforderlich, #
    #+da die Box-Daten nicht akkumuliert, sondern beim Start jedesmal zurückgesetzt werden. #
    # Nur für Volumen- und Zeittarif! Nicht notwendig bei durchgehend benutzter Flatrate. #

    INPUT=
    OUTPUT=
    TIME=

    # Aufruf von Fritz!Box ohne Konsolenausgabe
    wget "http://192.168.178.1/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=internet&var:pagename=internet&var:activetype=pppoe" -o /dev/null

    # Umbenennen des Ergebniss-Datei für leichter zu handhabenden Namen, ursprünglicher Name aber auch durchaus verwendbar.
    #+Gleichzeitig wird dadurch verhindert, dass der Name der Ergebnisdatei bei erneutem Aufruf inkrementiert wird.
    mv "webcm?getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&var:lang=de&var:menu=internet&var:pagename=internet&var:activetype=pppoe" "dummy"

    sed 'y/\x00/ /' dummy | sed 'y/;/ /' > dummy # Eingangs-EOF und Semikolons aus der generierten Ergebnis-Datei entfernen
    set -- `grep "var time" dummy` # 1. Variable suchen bzw. parsen (mit flüchtigem, durch Javaskript berechneten Wert belegt)
    TIME=$4 # Ergebnis-Zuweisung aus Spalte 4
    set -- `grep "var inl" dummy` # 2. Variable suchen
    INPUT=$4 # dito, Zuweisung
    set -- `grep "var outl" dummy` # 3. Variable suchen
    OUTPUT=$4 # dito, Zuweisung

    rm dummy # Cleanup
    echo -e $TIME $INPUT $OUTPUT # Testaugabe

    echo -e `expr $INPUT + $OUTPUT` >> Ergebnis.txt # Resultat an Datei schreiben/anhängen
    ...
    ...
    ...

    Schade dass durch das posten die ganze Strukturierung verloren geht!

    Schöne Grüße Helmut
     
Thread Status:
Not open for further replies.

Share This Page