Rudi: Text entfernen

Hallo,
ich habe Hunderte von Text-Dateien, bei denen ich nach dem ersten Auftreten eines Textes (z.B xyz) alles löschen möchte bis zum Dateiende.
Beispiel:
Aus

dsdfsadd... xyz ....sdgsdgdgdg  
....  
fdadfdfdf

soll
[codel]dsdfsadd... xyz[/code]
werden.
Wie mache ich das am besten (keine Perl-/PHP- o.ö. Kenntnisse vorhanden)?
Danke für Eure potentielle Hilfe
Rudi

  1. Lieber Rudi,

    nach dem ersten Auftreten eines Textes (z.B xyz) alles löschen möchte bis zum Dateiende.
    [...]
    Wie mache ich das am besten (keine Perl-/PHP- o.ö. Kenntnisse vorhanden)?

    Du nimmst einen sinnvollen Texteditor (z.B. Notepad++), öffnest alle Dateien darin und versuchst mit cleverem Suchen&Ersetzen die ensprechenden Textteile zu modifizieren bzw. zu entfernen. Anschließend speicherst Du alle Dateien wieder (mit einem Klick).

    War es das, was Du wissen wolltest?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo

      Du nimmst einen sinnvollen Texteditor (z.B. Notepad++), öffnest alle Dateien darin und versuchst mit cleverem Suchen&Ersetzen die ensprechenden Textteile zu modifizieren bzw. zu entfernen. Anschließend speicherst Du alle Dateien wieder (mit einem Klick).

      War es das, was Du wissen wolltest?

      Was ich ersetzen (löschen) will muss ich ja suchen, allerdings ist dieser Text ja immer unterschiedlich.
      Wie kann ich einen Text suchen, dessen Inhalt ich nicht kenne?

      1. Grüße,

        Wie kann ich einen Text suchen, dessen Inhalt ich nicht kenne?

        du sagtest die "stopsequenz" sei bestimmt?
        wenn es "willkürlich" ist, dann kann dir kein Programm helfen - Entscheidungen müssen immer noch von Menschen getroffen werden, pc kann nur Vorschriften.
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
      2. Moin!

        Wie kann ich einen Text suchen, dessen Inhalt ich nicht kenne?

        Verdammt: Kennst Du ihn nicht, gar nicht oder gibt es dafür Regeln?

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix

  2. Moin!

    Wie mache ich das am besten (keine Perl-/PHP- o.ö. Kenntnisse vorhanden)?
    Danke für Eure potentielle Hilfe
    Rudi

    Hm. Was hast Du? Ich nehme mal an, irgendein Windows.

    * Der alte HTML-Editor 5.2 (den gabs noch als Freeware) von Meybohm konnte derlei batch-Aufgaben erledigen.
    * Mit einem Shell-Skript drum herum kann auch das für Windows verfügbare Tool sed tun.
    * Klar geht das auch mit PHP - in einer Shell.

    <?php  
      
    ##  
    # splitter.php  
    ##  
      
    # Dateien festlegen  
      
    # Variante 1: als Array:  
    $arFiles=array(  
      'datei1.txt',  
      ...  
      'datei10.txt'  
    );  
      
    # Variante 2: aus einer Textdatei:  
    $arFiles=file('Dateinamen.txt');  
      
    # Variante 3: alle .txt- Dateien in einem Verzeichnis:  
    $strDirName="C:/texte";  
    $DIR = dir($strDirName);  
    while (false !== ($entry = $DIR->read())) {  
         if (strpos($entry, '.txt')) {  
             $arFiles[]=$strDirName.'/'.$entry  
         }  
    }  
    $DIR->close();  
      
      
      
    #In jedem Fall hast Du jetzt ein Array.  
    $search="Ab hier löschen:";  
    foreach ($arFiles as $strFileName) {  
         if (!is_file($strFileName)) {  
             print "Fehler: $strFileName ist keine Datei\n";  
         } elseif (!is_readable($strFileName)) {  
             print "Fehler: $strFileName ist nicht lesbar. Rechte?\n";  
         } elseif (!is_writable($strFileName)) {  
             print "Fehler: $strFileName ist nicht schreibbar. Rechte?\n";  
         } else {  
             # Datei einlesen und gleich am String in 2 Teile auftrennen  
             $arParts=explode($search, file_get_contents($strFileName), 2);  
                 #prüfen, ob es was zu tun gibt:  
                 if isset($arParts[1]) {  
                     # Ersten Teil schreiben:  
                     file_put_contents($arParts[0],$strFileName);  
                 }  
         }  
    }  
    print "Fertig\n".  
    ?>
    

    C:\dir\> php splitter.php

    UNGETESTET! Schreibfehler sind möglich. Hilfe zu den Befehlen gibt es bei php.net.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

  3. Moin!

    dsdfsadd... xyz ....sdgsdgdgdg
    ....
    fdadfdfdf
    soll
    dsdfsadd... xyz
    werden.

    Das ist anders als Deine vorherige Beschreibung.

    $str=file_get_contents($strFileName);  
      
      
    # Du splittest hinten:  
    $ar=explode('xyz', $str, 2);  
      
    #und nimmst den ersten Teil:  
    $str=ar[0];  
      
    # Du splittest vorn:  
    $ar=explode('dsdfsadd', $str, 2);  
      
    #und nimmst, so dieser existiert, den zweiten Teil  
    if isset($ar[1]) {  
       $str=$ar[1];  
    }  
      
    #Du schreibst $str zurück  
    file_put_contents($FileName, $str);  
    
    

    Den Rest nimmst Du aus meinem anderen Vorschlag.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix