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

Wie entferne ich Leerzeilen aus einer Datei (einschließlich Tabulatoren und Leerzeichen)?

Ich möchte alle leeren Zeilen aus einer Datei entfernen. Auch wenn die Zeile Leerzeichen oder Tabulatoren enthält, sollten sie ebenfalls entfernt werden.

Akzeptierte Antwort:

Einfach grep für Nicht-Leerzeichen:

grep '[^[:blank:]]' < file.in > file.out

[:blank:] , innerhalb von Zeichenbereichen ([...] ) wird als POSIX-Zeichenklasse bezeichnet. Es gibt einige wie [:alpha:] , [:digit:][:blank:] stimmt mit horizontalem Leerraum überein (in der POSIX-Sprachumgebung sind das Leerzeichen und Tabulatoren, aber in anderen Sprachumgebungen könnten mehr sein, wie alle horizontalen Unicode-Abstandszeichen in UTF8-Sprachumgebungen), während [[:space:]] entspricht horizontalen und vertikalen Leerzeichen (dasselbe wie [:blank:] plus Dinge wie vertikale Tabulatoren, Seitenvorschub…).

grep '[:blank:]'

Würde die Zeilen zurückgeben, die eines der Zeichen enthalten, : , b , l , a , n oder k . Zeichenklassen werden nur innerhalb von [...] erkannt , und ^ innerhalb von [...] negiert die Menge. Also [^[:blank:]] bedeutet jedes Zeichen außer den Leerzeichen.


Linux
  1. Wie entferne ich doppelte Zeilen in einer Textdatei?

  2. Zeilen zwischen (und einschließlich) zwei Mustern drucken?

  3. Effizient die ersten paar Zeilen aus einer Textdatei entfernen?

  4. Wie entferne ich Kde- und Xfce-Anwendungen aus dem Gnome-Menü?

  5. Zählen Sie Zeilen, Wörter und Zeichen aus einer Datei in Linux

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

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

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So entfernen Sie Leerzeichen aus Dateinamen in Linux

So entfernen Sie alle Leerzeichen aus einer Textdatei

So installieren Sie Software aus dem Quellcode … und entfernen sie anschließend