tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
4828
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MrJakie MrJakie ist offline Rookie
    Registriert seit
    Jul 2003
    Beiträge
    6
    Hallo, ich brauch mal eure Hilfe!


    Ich kenne mich leider in dem Metier überhaupt nicht aus, habe aber folgendes Problem:


    Ich möchte eine Textdatei (log-file) mit 10.000 Zeilen bearbeiten

    Alle zeilen, die das wort disabled enthalten sollen gelöscht werden, bzw. alle Zeilen, die das Wort enabled enthalten sollen erhalten bleiben.


    Ich könnte mir vorstellen, daß das sehr einfach zu realisieren sein wird, aber leider habe ich selber vom coden NULL Ahnung.

    Also es muß ja nicht unbedingt ne batch datei sein......hauptsache ich krieg das irgendwie hin!

    Evtl gibts ja schon ein Proggie was das kann****** Eigentlich isses ja nicht viel anders als Strg+h im Wordpad....


    Danke für jederart Hinweis oder Hilfe!


    MfG :P MrJakie :P
     

  2. #2
    Frankdfe Frankdfe ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Beiträge
    151
    Hallo,

    das folgende Perl-Skript sollte dein Problem lösen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    open(FILE1, "<datei_vorher.txt");
    my $inhalt;
    while(<FILE1>)
    {
      if (/enabled/)
      {
        $inhalt = $inhalt.$_
      }
    }
     
    close(FILE1);
     
    open(FILE2, ">datei_nachher.txt");
    print FILE2 $inhalt;
    close(FILE2);

    Gruß Frank
     
    Der Glückliche phantasiert nie. (Sigmund Freud)
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
    Daraus folgt: Die Genie's sind nicht glücklich.

  3. #3
    MrJakie MrJakie ist offline Rookie
    Registriert seit
    Jul 2003
    Beiträge
    6
    Hey, vielen Dank dafür!

    hab das Problem allerdings inzwischen schon anders hinbekommen!

    Aber nichts desto trotz vielen Dank für Deine Mühen******


    MfG :P MrJakie :P
     

  4. #4
    Terry Terry ist offline Grünschnabel
    Registriert seit
    Nov 2003
    Beiträge
    2
    das Script prima @ Frankdfe

    könntest du es mir soweit erweitern das auch noch gleich eine 2. Datei durchsucht wird und das Ergebniss aus beiden Dateien in einer steht?
    Geändert von Terry (07.11.03 um 18:46 Uhr)
     

  5. #5
    Frankdfe Frankdfe ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Beiträge
    151
    Hallo Terry!

    Mit etwas Perl-Kenntnissen könntest du das auch selbst hinbekommen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    open(FILE1A, "<datei_vorher1.txt");
    my $inhalt;
    while(<FILE1A> )
    {
      if (/enabled/)
      {
        $inhalt = $inhalt.$_
      }
    }
    close(FILE1A);
     
    open(FILE1B, "<datei_vorher2.txt");
    while(<FILE1B> )
    {
      if (/enabled/)
      {
        $inhalt = $inhalt.$_
      }
    }
    close(FILE1B);
     
    open(FILE2, ">datei_nachher.txt");
    print FILE2 $inhalt;
    close(FILE2);

    Gruß Frank
     
    Der Glückliche phantasiert nie. (Sigmund Freud)
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
    Daraus folgt: Die Genie's sind nicht glücklich.

  6. #6
    Terry Terry ist offline Grünschnabel
    Registriert seit
    Nov 2003
    Beiträge
    2
    Dank dir erstmal für deine "Mühe"

    Klar, wenn ich etwas Plan von hätte würde ich das auch hinbekommen, nur stecke ich noch in den Kinderschuhen mit Perl und von daher sind solche Lösungen auch Interessant und Nützlich um den Sinn erstmal näher zu verstehen.

    Mit kleinen Dingen fängt man(n) an um sich dann zu Steigern.



    Terry
    Geändert von Terry (11.11.03 um 04:46 Uhr)
     

  7. #7
    TheDuke TheDuke ist offline Grünschnabel
    Registriert seit
    Feb 2004
    Beiträge
    3
    Hallo erstmal,

    es geht noch viel einfacher mit dem find Kommando. (Windows 2000 & XP)

    find /v "disabled" Datei.xyz > NeuDatei.xyz

    Die Option v zeigt alle Zeilen an in denen der Suchbegriff nicht vorkommt.

    Und noch etwas kürzer und logischer (finde das nachdem gesucht wird):

    find "enabled" Datei.xyz > NeuDatei.xyz


    @Terry
    find "enabled" ErsteDatei.xyz > NeuDatei.xyz
    find "enabled" ZweuteDatei.xyz >> NeuDatei.xyz

    (>) in eine Datei umleiten, (>>) an eine Datei anhängen oder neu erzeugen

    Hinweis:
    Durch die Umleitung (>) in Die Datei NeuDatei.xyz wird deren Inhalt, falls sie vorhanden ist, geleert !
    Sämtlicher Inhalt wird gelöscht (auf 0 Bytes gekürzt !), auch wenn der Suchbegriff nicht gefunden wurde.
    Ansonsten wird die Datei neu angelegt.

    Ausserdem sollte man als Zieldatei auf gar keinen Fall die Quelldatei verwenden,
    da man sich sonst den Ast auf dem man sitzt wegsägt



    Bis dann

    The Duke
    Geändert von TheDuke (11.02.04 um 15:11 Uhr)
     

Ähnliche Themen

  1. Text aus Datei lesen, bearbeiten und in neue .txt Datei spechern
    Von shisho1980 im Forum Visual Basic 6.0
    Antworten: 8
    Letzter Beitrag: 30.03.07, 19:35
  2. Batch Datei DFÜ Einwahl und Datei Transfer
    Von interface im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 28.11.06, 01:53
  3. Antworten: 4
    Letzter Beitrag: 28.04.06, 15:52
  4. Datei einlesen in Batch- (o. ä.) Datei
    Von tapferesschneiderlei im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 04.02.05, 13:28
  5. Batch-Datei -> gefundene Datei ausfuehren!
    Von Shugen im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 21.05.04, 18:36