Wie mittels Skript in Textdatei gezielt feste Zeilen löschen

  • Hallo,


    wie kann ich in einer Textdatei per Skript, sed oder was auch immer, folgende Aufgabe lösen:


    lösche Zeile 73 und ab da dann jede 72. Zeile. Hat was mit Seitenumbruch bei verkorksten Druckdateien zu tun.


    Eine primitive Lösung hätte ich, wenn man die maximale Zeilenanzahl des Textfiles wüsste, was aber nicht gegeben ist:


    vi -s script Datei


    wobei script so aussieht:
    :73d
    :145d
    :217d
    :289d usw
    :wq!


    Gibt's da vielleicht eine elegantere Lösung?


    Danke


    Uli

  • Perl, klar könnte man machen.


    Ich stelle mir das aber einfacher vor.


    Leider kenne ich den sed nicht so gut, habe aber mal Folgendes probiert:


    sed 73~72d inputfile >outputfile


    Macht eigentlich fast das Richtige, ausser dass es die letzte Zeile löscht, auch wenn es nicht die x*72.te ist.


    <EDIT>
    Korrektur: macht doch das Richtige, habe mich verzählt.
    </EDIT>


    Uli

  • sehr primitiv :

    3 Mal editiert, zuletzt von magicamun ()

  • Zitat

    Original von ufauser
    sed 73~72d inputfile >outputfile


    Sieht doch so aus, als haettest Du die Musterloesung selbst gefunden ;)


    Glueckwunsch!!!


    (sed/regex ist eeeecht so ziemlich das abgefahrenste, wo gibt...)


    Hannes


    robbitobbi://Scenic xB @ 866MHz/~Nexus2.1 - Budget TT 1.0 (Empfangs-VDR)
    fliewatueuet://ScenicxB @ 800MHz/~i810fb-xinelibout (Client)

  • boh ey

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!