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

Dateien ohne Kommentare und Leerzeilen in Linux drucken

Wenn Sie den Inhalt eines Quellcodes oder einer Konfigurationsdatei in der Standardausgabe mit cat anzeigen Befehl, sehen Sie alles in dieser Datei, einschließlich der kommentierten und leeren Zeilen, richtig? Ja. Was ist, wenn Sie nur die unkommentierten Zeilen anzeigen und alle anderen ignorieren möchten? Nun, es ist möglich, die kommentierten und leeren Zeilen einer Dateiausgabe zu ignorieren. In dieser kurzen Anleitung erfahren Sie, wie Sie unter Linux Dateien ohne Kommentare und Leerzeilen drucken. Dies kann nützlich sein, wenn Sie schnell eine Konfigurationsdatei überprüfen möchten, die viele Kommentare und leere Zeilen enthält.

Was sind Kommentare in der Computerprogrammierung?

Wenn Sie sich einen Quellcode oder eine Konfigurationsdatei ansehen, werden Sie feststellen, dass viele Zeilen entweder mit einem Sternchen "*" beginnen oder ein Hash "#" oder ein Schrägstrich "/" oder ein Semikolon ";" . Diese Zeilen werden als Kommentare bezeichnet . In der Computerprogrammierung ist ein Kommentar eine für Menschen lesbare Beschreibung oder Anmerkung, die verwendet wird, um den Zweck des Codes zu verdeutlichen. Sie helfen den Benutzern und anderen Programmierern, leicht zu verstehen, was der Code tut. Im Allgemeinen werden die Kommentare und Leerzeilen von Compilern und Interpretern ignoriert. Sie sind nur für Programmierer. Die Syntax von Kommentaren variiert in verschiedenen Programmiersprachen.

Sehen wir uns nun an, wie man diese Kommentare und Leerzeilen ausschließt oder überspringt und nur die Zeilen anzeigt, die nicht kommentiert sind.

Dateien ohne Kommentare und Leerzeilen unter Linux drucken

Lassen Sie mich Ihnen den Inhalt der sources.list zeigen Datei meines Ubuntu-Systems:

$ cat /etc/apt/sources.list

Beispielausgabe:

# deb cdrom:[Ubuntu 18.04.2 LTS _Bionic Beaver_ - Release amd64 (20190210)]/ bionic main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal universe
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

Haben Sie gesehen, dass viele Zeilen mit dem Zeichen "#" auskommentiert sind? Es macht die Datei weniger lesbar. Dies ist nur eine kleine Datei, also keine große Sache. Aber wenn Sie wirklich lange Konfigurationsdateien lesen, zum Beispiel "httpd.conf" oder "php.ini", müssen Sie viele Kommentare und leere Zeilen durchgehen, und es ist ein wenig verwirrend, herauszufinden, welche Zeilen aktiv sind und welche nicht.

Verwenden Sie grep, um die Anzeige aller Kommentare und leeren Zeilen in der Dateiausgabe zu filtern Befehl wie unten:

$ grep "^[^#*/;]" /etc/apt/sources.list

Hier,

  • der erste ^ Zeichen gibt den Beginn der Zeile in der angegebenen Datei an, z. B. /etc/apt/sources.list .
  • [^#*/;] - zeigt alle Zeilen an, die mit anderen Zeichen als diesen vier Zeichen "#" beginnen , "*" , "/" , ";" . Also alle Zeilen, die mit den Zeichen "#" beginnen , "*" , "/" , ";" werden von der Ausgabe ausgeschlossen.

Beispielausgabe des obigen Befehls:

deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe
deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse

Sehen? Alle Kommentare und Leerzeilen sind weg. Jetzt ist die Ausgabe gut lesbar.

Sehen Sie sich den folgenden Screenshot an:

Auf der linken Seite sehen Sie den Dateiinhalt mit Kommentaren und Leerzeilen. Rechts werden alle Kommentare und Leerzeilen mit "grep" ignoriert Befehl.

Ich bevorzuge den grep-Weg, um die unnötigen Zeilen zu filtern, die in der Ausgabe angezeigt werden. Sie können dies auch mit awk tun und sed auch Befehle.

Dateiinhalt ohne Kommentare und Leerzeilen mit "awk" drucken Befehl, führe aus:

$ awk '$1 ~ /^[^;#]/' /etc/apt/sources.list

Beispielausgabe:

Das Anzeigen von Zeilen beginnt ohne Kommentare mit "sed" Befehl, führe aus:

$ sed -e '/^#/d' /etc/apt/sources.list

Weitere Details zur Verwendung finden Sie auf der Handbuchseite des jeweiligen Befehls.

$ man awk
$ man grep
$ man sed

Hoffe das hilft.


Linux
  1. So archivieren und komprimieren Sie Dateien unter Linux

  2. Dateiinhalt ohne die erste und letzte Zeile drucken?

  3. Linux – Standard- und/oder gemeinsame Verzeichnisse auf Unix/Linux-Betriebssystemen?

  4. Überprüfen von Linux-Repositories und -Protokollierung

  5. Linux Dateien und Verzeichnisse löschen

So kürzen Sie (leere) Dateien in Linux

So stellen Sie Dateien und Ordner schnell über HTTP in Linux bereit

Installieren Sie Samba auf Ubuntu 20.04 und teilen Sie Dateien auf Linux und Windows

So löschen Sie leere Zeilen in Dateien mit Grep, Sed und Awk

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Xine Multimedia Software – Spielen Sie Audio- und Videodateien in Ubuntu Linux ab