wake-up-neo.net

Sublime - Löschen Sie alle Zeilen, die einen bestimmten Wert enthalten

Ich habe eine 900 MB-Protokolldatei, die ich in SublimeText 3 öffnen kann. Diese Datei wird mit Zeilen ähnlich der folgenden aufgebläht.

10/08/2014 23:45:31:828,Information,,,,ExportManager: ,No records to send and/or not connected

Wie kann ich alle Zeilen herausfiltern, die No records to send and/or not connected enthalten

88
energ1ser

Sie können einen regulären Ausdruck suchen und ersetzen:

Klicken Sie auf Suchen> Ersetzen.

Stellen Sie sicher, dass die Schaltfläche Regulärer Ausdruck gedrückt ist.

Geben Sie für das Feld Suchen nach Folgendes ein: 

^.*No records to send and/or not connected.*\n

Lassen Sie das Feld Ersetzen durch leer.

Klicken Sie auf Alles ersetzen

182
Jonathan Aquino

Für Leute, die keinen Regex schreiben möchten, können Sie einfach die Suchzeichenfolge auswählen, ctrl+cmd+g drücken oder "Schnellsuche Alle" aus dem Menü auswählen. Von dort aus wird Home jeden Auswahlcursor an den Anfang der Zeile setzen, shift+End wählt jede passende Zeile aus und del, del löscht alle.

Das Editieren mehrerer Cursor macht Spaß!

50
Leonid Shevtsov

ich konnte den regulären Ausdruck nicht zum Laufen bringen, also habe ich den Alt-F3-Ansatz aus dieser Antwort verwendet:

https://superuser.com/questions/452189/how-can-i-filter-a-file-for-lines-containing-a-string-in-sublime-text-2/598999#598999

  1. Wählen Sie die gewünschte Zeichenfolge aus
  2. Schlagen Alt+F3 bei jedem Auftreten in den Multi-Cursor-Modus zu wechseln (Ctrl+CMD+G unter Mac OS X)
  3. Schlagen Ctrl+L [Zeige Kommentare] (Cmd+L auf Mac)
  4. Auswahl kopieren und in einen anderen Puffer einfügen
  5. Del
44
denfromufa

Keiner der oben vorgeschlagenen Regex-Codes hat in meinem Fall funktioniert, aber das hat funktioniert:

.*(text in question).*
19
Magnus

Das habe ich für die Windows-Benutzer gefunden:

  1. Wählen Sie die Zeichenfolge aus (jede Zeile, die diese Zeichenfolge enthält, wird entfernt).
  2. Drücken Sie ALT + F3.
  3. Drücken Sie Strg + L.
  4. Drücken Sie die Entf-Taste.
16
Prashant Goel

Obige Antworten sind die richtigen Möglichkeiten, aber wenn Sie die Zeilen mit nur einer einzelnen Zeichenkette loswerden möchten, tun Sie Suchen -> Ersetzen -> setzen Sie ^.*[a-zA-Z]+.*\n in den Suchabschnitt und ersetzen Sie sie mit einem Leerzeichen. Klicken Sie auf die Schaltfläche "Alle ersetzen". Dadurch werden alle Zeilen mit nur einer einzigen Zeichenfolge gelöscht.

0
shubham mishra

Ich hatte ein ähnliches Problem beim Editieren einer Sitemap

Das hat für mich funktioniert:

  1. Kopieren Sie das letzte Wort in den Zeilen, die Sie löschen möchten
  2. Finde alle
  3. Drücken Sie Löschen, um die gesamte Zeile zu löschen
0
Pete Varley