Bestimmte Blöcke aus TXT auslesen

  • Hallo ich versuche seit zich stunden was zu machen, was absolut nicht hinhaut, über google bin ich dann zu euch gestoß :D

    Also ich habe eine txt Datei

    dort raus sollen bestimmte Ip gefiltert werden

    Spoiler anzeigen


    mich interessiert da nur dieser Block (kommt öftern darinnen vor, txt würde aber sonst den Rahmen Sprengen)

    Code
    195.57.93.96
    Responds with ICMP unreachable: No
    TCP ports: 2100
    
    
    
    
    TCP 2100:
    [220 vm-planning FTP Server (Oracle XML DB/Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production) ready.]

    Ansatz habe ich

    Spoiler anzeigen

    er findest jetzt ip, nun müsste er bis zur nächsten ip gucken ob die Zeile dazwischen drinnen ist

    Code
    [220 vm-planning FTP Server (Oracle XML DB/Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production) ready.]

    und wenn ja in eine neue Txt schreiben

    [SIZE=7]Bitte auf keinen falschen Gedanken, ich habe damit nichts illigales vor[/SIZE]

  • Ôo ....
    Vllt bín ich zu Doof... aber ich verstehe deine Aussage Nicht!


    Sorry :keks:

    Wäre aber nett wenn ihr mich aufklären könntet .. Oo


    Lenny

    Jaja, Moo does the Cow!

    • Offizieller Beitrag

    Hi,

    ich finde den Block nur einmal:

    [autoit]

    #include<File.au3>
    Global $lines
    _FileReadToArray(@ScriptDir & '\log.txt', $lines)

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

    For $i = 1 To UBound($lines) - 1
    If StringInStr($lines[$i], '[220 vm-planning FTP Server') <> 0 Then
    For $y = $i - 6 To $i
    If StringRegExp($lines[$y], '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 0) Then
    MsgBox(64, "Found", 'Found : ' & $lines[$y])
    ExitLoop
    EndIf
    Next
    EndIf
    Next

    [/autoit]

    So long,

    Mega

  • sorry mein fehler die zeile die gesucht wird

    Code
    Oracle XML DB/Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    wenn ich die Zeile einfüge finde ich mehr, glaube das ises

    Einmal editiert, zuletzt von Pinguin (15. Oktober 2007 um 21:33)

    • Offizieller Beitrag

    Hi,

    so?

    [autoit]

    #include<File.au3>
    Global $lines
    _FileReadToArray(@ScriptDir & '\log.txt', $lines)

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

    For $i = 1 To UBound($lines) - 1
    If StringInStr($lines[$i], 'Oracle XML DB/Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production') <> 0 Then
    For $y = $i - 6 To $i
    If StringRegExp($lines[$y], '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 0) Then
    MsgBox(64, "Found", 'Found : ' & $lines[$y])
    ExitLoop
    EndIf
    Next
    EndIf
    Next

    [/autoit]

    So long,

    Mega

  • jop habe es nur noch Gröber gemacht

    [autoit]

    #include<File.au3>
    Global $lines
    _FileReadToArray(@ScriptDir & '\log.txt', $lines)

    For $i = 1 To UBound($lines) - 1
    If StringInStr($lines[$i], '9.2.0.1.0') <> 0 Then
    For $y = $i - 6 To $i
    If StringRegExp($lines[$y], '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 0) Then
    MsgBox(64, "Found", 'Found : ' & $lines[$y])
    FileWriteLine("Ausgabe.txt", $lines[$y])
    ExitLoop
    EndIf
    Next
    EndIf
    Next

    [/autoit]

    ich danke dir

  • Wie sähe das aus, wenn man nicht nur die ip raus schreiben will, sondern auch einen teil des textes in der anderen zeile? ich hänge dabei nämlich fest