Bestimmten inhallt aus textdatei filtern

  • Hallo,

    ich möchte ein Programm schreiben mit dem ich einen bestimmten inhallt aus einer textdatei filtern kann. Man muss sich das so vorstellen ich habe eine mehrere Textdateien in denen daten stehen. Von diesen ganzen dateien will ich aber jeweils nur eine bestimmte zeile bzw wert ausgegeben haben. Dieser wert sieht so aus .....(8beliebige zeichen)0001...(8beliebige zeichen). Diese 20 zeichen sollen ausgegeben werden. Mir würd eine einfache msgbox ausgabe völlig reichen. Ich hab aber keine idee wie ich das anstellen soll. Achso schön wär auch noch wenn man die textdatei auswählen könnte. Ich bin noch ganz am anfang meines "programmierens" wäre über jede hilfe sehr dankbar.

    Vielen dank schonmal

  • Auch wenn das am Anfang ein bisschen viel ist, würd ich mir trotzdem mal reguläre Ausdrücke anschaun, ich finde das erleichtert manche Aufgaben ungeheuer...
    Wenn du dich damit beschäftigen willst, hier im Forum gibt es ein sehr gutes Tutorial....
    Willst du dann sowas erreichen?

    [autoit]

    $sString = '98umg3ij 3qvß9 jwrotggwhhg4wh4abcdefgh0001abcdefghmoqm89ßvz89qhgqg35npqüoiggq5'

    [/autoit][autoit][/autoit][autoit]

    $aRegExp = StringRegExp($sString, "\w{8}0001\w{8}", 3)
    MsgBox(0, "", $aRegExp[0])

    [/autoit]
    Zitat

    You just keep on trying 'till you run out of cake. ;)


    [STEAM] Source UDF

    Einmal editiert, zuletzt von K4z (21. Februar 2012 um 21:39)

  • Ich habe die Textdatei mal verändert und sie hochgeladen (verändert nur in dem sinne das die Persönlichen inhallte durch einfach andere zahlen geändert wurden). Das programm möchte ich haben, da ich in einem großen telekommunikationsunternehmen arbeite und aus einem DSl mitschnitt des Routers die Zugangsdaten auslesen möchte....Strg + F würde es auch tun aber ich möchte den Kollegen das ganze etwas erleichtern.

    K4z rein vom verständniss sieht der code richtig aus aber wo füg ich da jetzt die Textdatei ein?

  • Also wenns auch Sonderzeichen sein solln, dann sollte es so aussehn:

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    $sFilePath = ''

    [/autoit][autoit][/autoit][autoit]

    $hFile = FileOpen($sFilePath)
    $sSource = FileRead($hFile)
    FileClose($hFile)

    [/autoit][autoit][/autoit][autoit]

    $aRegExp = StringRegExp($sSource, ".{8}0001.{8}", 3)

    [/autoit][autoit][/autoit][autoit]

    _ArrayDisplay($aRegExp)

    [/autoit]

    Ich denke arg viel einfacher geht es nicht...

  • Genau so habe ich mir das ganze vorgestellt. Jetzt ist nur noch die Frage ist es möglich den Dateipfad vorher in einer Grafischen Oberfläche auszuwählen?

    mfg

  • [autoit]

    $sFilePath = FileOpenDialog("Datei auswählen", @DesktopDir, "(*.eth)")

    [/autoit]


    Musst halt verändern, wenn du eine andere initdir oder anderen Filetyp ham willst. Schau dazu am besten die Hilfe an:D

  • Das programm möchte ich haben, da ich in einem großen telekommunikationsunternehmen arbeite und aus einem DSl mitschnitt des Routers die Zugangsdaten auslesen möchte....Strg + F würde es auch tun aber ich möchte den Kollegen das ganze etwas erleichtern.


    Wenn eine grosses TK-Unternehmen Arbeitszeit (=Kosten) einsparen kann implemtiert es üblicherweise eine solche Schnittstelle gerne. Daher wundert es mich stark dass es eure IT-Abteilung noch nicht realisiert hat, oder hast du es dort noch nicht vorgeschlagen?
    Nach erfolgreichem Funktionstest werden dann auch nach und nach Mitarbeiter entlassen, es geht ja jetzt alles schneller/einfacher etc.

    Bin der Meinung, dass das Etrahieren von Zugangsdaten der IT-Sicherheit deines Unternehmens schaden könnte, sonst wäre es ja schpn implementiert. Daher sollte das ganze hier auch nicht supported werden. Ich bon zwar mit meinen Bedenken zu spät, trotzdem sollte das Thema gelöscht werden.

    Ob der TE mit selbst gestrickten Lösungen auf Dauer bei einer grossen Firma glücklich wird bezweifle ich.

    @jannis93: du solltest daher vor dem Einsatz des Skriptes dies mit der IT-Abteilung abklären.
    PS.: meine Einwände liest du nur, weil du vergessen hast das Them auf abgeschlossen zu setzen.

    mfg autoBert