So entfernen Sie Zeilen, die ein Wort oder eine Zeichenfolge in einer Textdatei enthalten

Wenn Sie Hunderte von Zeilen in einer Textdatei haben und Zeilen löschen möchten, die ein Wort oder eine Zeichenfolge enthalten, ist dieser Artikel genau das Richtige für Sie.

Verwenden wir den hervorragenden Texteditor Notepad ++ (kostenlos) von Drittanbietern, um Zeilen, die ein Wort in einer textbasierten Datei enthalten, mit verschiedenen Methoden zu löschen.

Entfernen Sie Zeilen, die ein Wort, eine Phrase oder eine Zeichenfolge in einer Textdatei enthalten

Szenario: Ich habe eine riesige HOSTS Datei mit Tausenden von Zeilen. Ich möchte MSN-Werbeservereinträge aus der Datei entfernen. Mit anderen Worten, ich muss Zeilen entfernen, die die Zeichenfolge " .msn.com " in der HOSTS Datei enthalten. Verwenden wir Notepad ++ für den Job.

$config[ads_text6] not found

Verwandte: Wie ersetze ich Notepad durch Notepad ++ oder einen anderen Texteditor?

Hinweis: Stellen Sie wie immer sicher, dass Sie eine Sicherungskopie der Textdatei erstellen, bevor Sie sie ändern.

Methode 1: Entfernen Sie Zeilen mit der Lesezeichenfunktion in Notepad ++

  1. Öffnen Sie die textbasierte Datei mit Notepad ++
  2. Drücken Sie Strg + F, um das Dialogfeld Suchen und Ersetzen zu öffnen.
  3. Klicken Sie, um die Registerkarte Markieren auszuwählen.
  4. Geben Sie das Suchwort oder den Suchbegriff in das Textfeld "Suchen nach" ein. In diesem Beispiel würde ich .msn.com
  5. Aktivieren Sie das Kontrollkästchen Lesezeichenzeile .
  6. Stellen Sie den Suchmodus auf Normal ein.

  7. Klicken Sie auf Alle markieren. Mit diesen Markierungen (Lesezeichen) werden alle Zeilen markiert, die die Zeichenfolge .msn.com (siehe unten):

  8. Schließen Sie das Dialogfeld Suchen, indem Sie auf Schließen klicken
  9. Klicken Sie im Menü Suchen auf Lesezeichen und dann auf Mit Lesezeichen versehene Zeilen entfernen .

Dadurch werden alle Zeilen entfernt, die die Suchzeichenfolge / das Wort / die Phrase in der Textdatei enthalten.

Wie entferne ich Zeilen, die KEIN Wort oder keine Zeichenfolge enthalten?

Um das Gegenteil von oben zu tun, löschen Sie Zeilen, die kein Wort oder keine Phrase enthalten:

  1. Wiederholen Sie die obigen Schritte 1 → 8.
  2. Klicken Sie in Schritt 9 im Menü Suchen in Notepad ++ auf Nicht markierte Linien entfernen

Dadurch werden alle Zeilen entfernt, mit Ausnahme derjenigen, die das Suchwort oder die Zeichenfolge enthalten.

Methode 2: Löschen Sie Zeilen mithilfe der Find and Replace-Methode mit RegEx

Diese Methode verwendet reguläre Ausdrücke, um Zeilen zu finden und zu ersetzen, die ein Wort oder eine Phrase enthalten. Diese Methode ist sehr leistungsfähig, da Sie fast alles abgleichen können (z. B. Wörter „beginnend mit“ oder Linien mit einem bestimmten „Muster“).

  1. Öffnen Sie die textbasierte Datei mit Notepad ++.
  2. Drücken Sie Strg + F, um das Dialogfeld Suchen und Ersetzen zu öffnen.
  3. Klicken Sie auf die Registerkarte Ersetzen, um sie auszuwählen.
  4. Geben Sie im Textfeld Suchen nach: das Suchwort ein, dem vorangestellt und gefolgt wird .* Wenn Sie beispielsweise Zeilen mit den Wortbüchern ersetzen möchten, geben Sie .*books.*

    In unserem Fall, wo wir zwei (spezielle) haben, ist das etwas anders . (Punkt-) Zeichen in unserer .msn.com . Daher müssen wir Folgendes in das Textfeld Suchen nach: eingeben:

     . * \. msn \ .com. * 
    .* - Entspricht einem beliebigen Zeichen einer beliebigen Anzahl von Wiederholungen.

    \. - wird verwendet, um dem Punkt (.) Zu entkommen. Das System versteht also, dass Sie mit der Zeichenfolge .msn.com übereinstimmen .msn.com

  5. Stellen Sie den Suchmodus auf Regulärer Ausdruck ein
  6. Stellen Sie sicher, dass das Textfeld Ersetzen durch: leer bleibt.

  7. Klicken Sie auf Alle ersetzen . Jetzt ersetzt Notepad ++ alle übereinstimmenden Zeilen durch Leerzeilen. Im Dialogfeld "Ersetzen" wird die Anzahl der ersetzten Vorkommen angezeigt. Als nächstes müssen Sie diese Leerzeilen entfernen.
  8. Schließen Sie das Dialogfeld Suchen / Ersetzen.
  9. Klicken Sie zum Entfernen der leeren Zeilen auf BearbeitenZeilenvorgängeLeere Zeilen entfernen .

Dadurch werden alle Zeilen entfernt, mit Ausnahme derjenigen, die das Suchwort oder die Zeichenfolge enthalten.

Wie entferne ich Zeilen, die KEIN Wort oder keine Zeichenfolge enthalten, mit Regex?

Um das Gegenteil von oben zu tun, löschen Sie Zeilen, die kein Wort oder keine Phrase enthalten, mit Regex:

  1. Befolgen Sie die obigen Schritte 1 bis 3.
  2. Verwenden Sie in Schritt 4 das Regex-Suchschlüsselwort ^(?!.*\.msn\.com).*$

    $config[ads_text6] not found

    Der obige Suchoperator findet Zeilen, die das Wort oder die Zeichenfolge .msn.com nicht enthalten, und ersetzt sie durch leere Zeilen.

  3. Befolgen Sie dann die Schritte 5 bis 9, um die leeren Zeilen zu entfernen.

Das ist es! Ich hoffe, die oben genannten Methoden haben sich als hilfreich erwiesen, um Zeilen, die eine bestimmte Zeichenfolge, ein bestimmtes Wort oder eine bestimmte Phrase in einer Textdatei enthalten (oder nicht enthalten), schnell zu entfernen.

Ähnlicher Artikel