Bash: Löschen von Zeilen aus einer Datei, die ein bestimmtes Suchmuster enthalten

Das Löschen von bestimmten Zeilen aus einer Datei kann mithilfe einer temporären Datei und dem Kommandozeilentool grep geschehen. Grep gibt alle Zeilen einer Textdatei aus, die einem bestimmten Suchmuster entsprechen. Die Option -v von grep negiert die Ausgabe von grep. Es werden dann nur Zeilen einer Datei ausgegeben, die ein bestimmtes Suchmuster nicht enthalten. Die Ausgabe auf dem Bildschirm kann man nun in eine temporäre Datei umleiten. Im Anschluss daran kann man die Originaldatei mit der temporären Datei überschreiben. Nun hat man eine Datei, aus der diejenigen Zeilen entfernt wurden, die ein bestimmtes Suchmuster enthielten.

grep -v  suchmuster originaldatei > tempdatei
mv tempdatei originaldatei

Kommentare

8 Antworten zu „Bash: Löschen von Zeilen aus einer Datei, die ein bestimmtes Suchmuster enthalten“

  1. Avatar von Hans
    Hans

    Hallo,

    das hat mir sehr weiter geholfen.

    Gruß
    Hans

  2. Avatar von Peter
    Peter

    Hi,

    vielen Dank für das tolle Tut!
    Genau das hab ich gebraucht 🙂

    Mfg
    Peter

  3. Avatar von Roger
    Roger

    Danke
    wie sieht es aus mit multiplen Suchmuster?

  4. Avatar von Pascal
    Pascal

    Besten Dank, die Lösung nach sicher fast drei Stunden herumpröbeln!! Hammer!!

  5. Avatar von Das_Oimel
    Das_Oimel

    Das war genau, was ich brauchte. Dankeschön!

  6. Avatar von Joe
    Joe

    sed -i -e /suchmuster/d Textdatei

  7. Avatar von Christian Müller
    Christian Müller

    Ich suche eine Lösung um in allen Dateien eines Ordners bei allen Dateien in denen suchmuster vorkommt, die erste Zeile zu löschen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert