Zeilen exportieren

  • Moin zusammen.

    Also ich habe eine Datei (z. B. test.txt). In dieser Datei gibt es einige Zeilen an Anfang die mit no_26190 anfangen (z. B.) no_2619084068124349067362805 ha./.pe) und auch zwischendurch kommen solche Zeilen. Aber ich möchte nur die Zeilen, die am Anfang so anfangen (bis eine Zeile kommt die nicht so anfängt), in die Datei neu1.txt kopieren und den Rest dann in die Datei neu2.txt,

    Wer versteht mein problem und kann mir dabei helfen?

    Beispiel: 7 Dateien fangen so an, aber nur die ersten 5 sollen in die neu1.tx kopiert werden und alle anderen Zeilen in die neu2.txt.

    no_2619084068124349067362805 ha./.pe
    no_26190346756777475455744565 ih./.fe
    no_2619045657764576865575656 -berat-
    no_26190145535475655695657785 aw./.ps
    no_2619056544536345637473735 go./.su
    io_2619084068124349067362805 ha./.pe
    no_3602746345284595696711764392 -berat-
    gu_2619045457876845646665656 sz./.fw
    no_2619065948930ß892746581233423 gr./.ks
    no_261900103894563492020474556 ha./.pe
    ma_2619050378294590783651829045067 ha./.pe

    LG,
    Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (8. Januar 2009 um 18:45)

  • Hallo Alina,

    probier das mal:

    Spoiler anzeigen
    [autoit]

    $file = FileOpen("neu.txt", 0)
    $neu1 = FileOpen("neu1.txt", 1)
    $neu2 = FileOpen("neu2.txt", 1)
    $erstefuenf = 0
    ; Check if file opened for reading OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf

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

    ; Read in lines of text until the EOF is reached
    While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    $text = StringLeft($line,8)
    If $text = "no_26190" Then
    If $erstefuenf = 0 Then
    FileWriteLine($neu1,$line&@CRLF)
    Else
    FileWriteLine($neu2,$line&@CRLF)
    EndIf
    Else
    $erstefuenf = 1
    FileWriteLine($neu2,$line&@CRLF)
    EndIf
    Wend

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

    FileClose($file)
    FileClose($neu1)
    FileClose($neu2)

    [/autoit]

    läßt sich bestimmt noch ausbauen...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)