GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie entferne ich alle kommentierten Zeilen oder Zeilen mit einem bestimmten Muster in vim?

Kürzlich habe ich auf einem meiner Server (für Wartungsarbeiten) viel Text bearbeitet – wo ich die Größe einer Datei optimieren muss, indem ich alle mit bestimmten Mustern entferne, manchmal alle Zeilen kommentierte Zeilen und manchmal alle Zeilen, die nicht enthalten ein bestimmtes Muster.

Zum Beispiel hatte einer meiner Server viele deaktivierte Benutzerkonten (kommentierte Zeilen in /etc/passwd-Datei) – wo ich alle diese deaktivierten Konten (kommentierte) mit vim entfernen muss. Folgendes habe ich getan:

Hinweis: Sie müssen dies im Befehlsmodus tun – ESC und :

Wenn Sie alle kommentierten Zeilen aus einer Datei entfernen möchten , dann müssen Sie die Zeilen entfernen, die mit „#“ beginnen.

:g/#/d

(oder)

:g/^\#/d

Angenommen, Sie möchten alle Zeilen entfernen, die mit einem bestimmten Muster übereinstimmen/enthalten – dann ist der Befehl ähnlich wie oben. Zum Beispiel:

:g/somepattern/d

Wenn Sie alle Zeilen entfernen möchten, die kein bestimmtes Muster enthalten , sagen wir, lassen Sie alle kommentierten Zeilen und löschen Sie den Rest. Achten Sie im folgenden Befehl auf das Symbol „!“

:g!/#/d

Der obige Befehl löscht alle Zeilen, die nicht mit „#“ beginnen. Alternativ können Sie den folgenden Befehl verwenden.

: v/#/d

Im obigen Befehl verwenden wir „v“ anstelle von „g“ und es ist kein „!“ erforderlich.


Linux
  1. Wie kombinieren Sie alle Zeilen, die mit einem Backslash-Zeichen enden?

  2. So löschen Sie Dateien mit einer bestimmten Erweiterung in der Linux-Befehlszeile

  3. So entfernen Sie alle Docker-Container

  4. Wie füge ich einen Befehl im vim-Editor hinzu?

  5. wie man eine Vim-Suche inverse Suche nach allen Zeilen ohne Text durchführt

So löschen Sie eine Zeile in Vim unter Linux

So entfernen Sie ein Verzeichnis in Linux

So löschen Sie Zeilen in Vim / Vi

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So entfernen Sie Zeilen aus einer Datei mit dem Sed-Befehl

Wie kann ich eine Datei kategorisieren und kommentierte Zeilen entfernen?