In Notepad ++ abgleichen und löschen

16

Ich habe den folgenden Text in Notepad ++ .

192.168.0.1 37 ms N / A
192.168.0.2 Dead N / S
192.168.0.3 Dead N / S
192.168.0.100 37 ms N / A

Wie mache ich ein Suchen und Ersetzen, das mit "Dead" übereinstimmt und die Zeile mit der folgenden Ausgabe entfernt?

192.168.0.1 37 ms N / A
192.168.0.100 37 ms N / A

Ich habe versucht, den regulären Ausdruck zu ^.*Dead.*$ verwenden, der die Zeilen entfernt, aber die Leerzeichen nicht löscht.

Peter Mortensen
quelle
Leider ist es nicht die Zeile mit Dead, die das Problem darstellt, sondern die Endzeile am Ende der vorherigen Zeile vor Dead. Ich bin mir nicht sicher, ob Sie einen regulären Ausdruck verwenden können, um eine Zeile und die Endzeile davor zu finden.
SC Ghost

Antworten:

17

Gehen Sie zur Suche und dann zur Registerkarte Markieren, geben Sie "Dead" ein, markieren Sie "Mark line" und klicken Sie auf "Find all". Es werden Lesezeichen für alle diese Zeilen erstellt.

Im Suchmenü gibt es einen Punkt "Lesezeichenzeilen löschen"

Stema
quelle
1
Ich mag diese Antwort!
vsync
In der 7.7.1 Version. Nach Drücken von Strg + F finden Sie die 4. Registerkarte Mark. Wählen Sie die Option Lesezeichenzeile, geben Sie die gewünschte Zeichenfolge ein und klicken Sie auf Alle markieren. Jetzt in Dokument F2 kann verwendet werden, um Lesezeichen für vorwärts und Umschalt + F2 für rückwärts zu navigieren. Strg + F2, um die Lesezeichen umzuschalten. Finden Sie jetzt das dritte Suchmenü oben links. Suchen Sie die Option Lesezeichen unten. Verwenden Sie die Remove Bookmarked LinesOption, um alle Zeilen zu entfernen.
Ramaprakasha
16

Sie können zwei Schritte ausführen:

Verwenden Sie Regex, um Übereinstimmungen ^.*Dead.*$mit zu ersetzenmarkedfordel

Dann im erweiterten Modus, um Übereinstimmungen markedfordel\r\ndurch leere zu ersetzen

Bildschirmfoto:

Bildbeschreibung hier eingeben

manojlds
quelle
Gut, dass du hier warst, ich hätte blind geantwortet, dass es nur mit einem Regex möglich ist, bevor ich darüber nachdenke.
MBraedley
0

Versuchen Sie einen Regex-Ersatz in Notepad ++ durch:

(.*)Dead(.*)

Das wird die Zeilen für Sie entfernen.

Francis Gilbert
quelle
0

Sie können Ihren ersten Schritt verwenden, um die Zeilen zu löschen, die "Dead" enthalten. Normalerweise verwende ich dann eines der in Notepad ++ normalerweise enthaltenen Plugins, um leere Zeilen zu entfernen. Dazu drücke ich Strg + A, um das gesamte Dokument zu markieren, gehe dann zum TextFX-Menü (für das TextFX-Plugin), gehe zu TextFX-Bearbeitung und wähle dann Leerzeilen löschen (ungefähr in der Mitte des Menüs). Dadurch werden, wie gesagt, alle Leerzeilen im markierten Bereich entfernt.

Ben Richards
quelle