GNU/Linux >> Tutoriels Linux >  >> Linux

Imprimer des fichiers sans commentaires ni lignes vides sous Linux

Lorsque vous affichez le contenu d'un code source ou d'un fichier de configuration dans la sortie standard à l'aide de cat commande, vous verrez tout dans ce fichier, y compris les lignes commentées et vides, n'est-ce pas ? Oui. Que faire si vous souhaitez afficher uniquement les lignes non commentées, en ignorant toutes les autres ? Eh bien, il est possible d'ignorer les lignes commentées et vides d'une sortie de fichier. Dans ce petit guide, nous verrons comment imprimer des fichiers sans commentaires ni lignes vides sous Linux. Cela peut être utile lorsque vous souhaitez examiner rapidement un fichier de configuration contenant de nombreux commentaires et des lignes vides.

Que sont les commentaires en programmation informatique ?

Si vous examinez un code source ou un fichier de configuration, vous remarquerez que de nombreuses lignes commencent par un astérisque "*" ou un dièse "#" ou une barre oblique "/" ou un point-virgule ";" . Ces lignes sont appelées Commentaires . En programmation informatique, un commentaire est une description ou une annotation lisible par l'homme utilisée pour clarifier l'objectif du code. Ils aident les utilisateurs et les autres programmeurs à comprendre facilement ce que fait le code. Généralement, les commentaires et les lignes vides seront ignorés par les compilateurs et les interpréteurs. Ils sont réservés aux programmeurs. La syntaxe des commentaires varie selon le langage de programmation.

Voyons maintenant comment exclure ou sauter ces commentaires et lignes vides et afficher uniquement les lignes qui ne sont pas commentées.

Imprimer des fichiers sans commentaires ni lignes vides sous Linux

Laissez-moi vous montrer le contenu de sources.list fichier de mon système Ubuntu :

$ cat /etc/apt/sources.list

Exemple de résultat :

# 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

Avez-vous vu que de nombreuses lignes sont commentées avec le caractère "#" ? Cela rend le fichier moins lisible. C'est juste un petit fichier, donc ce n'est pas grave. Mais lorsque vous lisez un très long fichier de configuration, par exemple "httpd.conf" ou "php.ini", vous devrez passer par beaucoup de commentaires et de lignes vides et il est un peu déroutant de trouver quelles lignes sont actives et qui ne le sont pas.

Pour empêcher tous les commentaires et les lignes vides d'être affichés dans la sortie du fichier, utilisez grep commande comme ci-dessous :

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

Ici,

  • le premier ^ caractère indique le début de la ligne dans le fichier donné, c'est-à-dire /etc/apt/sources.list .
  • [^#*/;] - affichera toutes les lignes commençant par des caractères autres que ces quatre caractères "#" , "*" , "/" , ";" . En d'autres termes, toutes les lignes commençant par les caractères "#" , "*" , "/" , ";" sera exclu de la sortie.

Exemple de sortie de la commande ci-dessus :

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

Voir? Tous les commentaires et les lignes vides ont disparu. Maintenant, la sortie est tout à fait lisible.

Regardez la capture d'écran suivante :

Sur le côté gauche, vous voyez le contenu du fichier avec des commentaires et des lignes vides. A droite, tous les commentaires et les lignes vides sont ignorés avec "grep" commande.

Je préfère la méthode grep pour filtrer les lignes inutiles affichées dans la sortie. Vous pouvez également le faire en utilisant awk et sed commandes également.

Pour imprimer le contenu du fichier en excluant tous les commentaires et les lignes vides avec "awk" commande, exécutez :

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

Exemple de résultat :

Pour afficher les lignes commencent sans commentaires en utilisant "sed" commande, exécutez :

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

Pour plus de détails sur l'utilisation, reportez-vous à la page de manuel de la commande respective.

$ man awk
$ man grep
$ man sed

J'espère que cela vous aidera.


Linux
  1. Comment afficher les fichiers de configuration sans commentaires sous Linux

  2. Imprimer le contenu du fichier sans les premières et dernières lignes ?

  3. Linux – Répertoires standard et/ou communs sur les systèmes Unix/linux ?

  4. Créer et extraire les fichiers tar.gz et tar.bz2 sur Ubuntu Linux

  5. Vérification des référentiels Linux et de la journalisation

Comment tronquer des fichiers (vides) sous Linux

Comment servir rapidement des fichiers et des dossiers via HTTP sous Linux

Installez Samba sur Ubuntu 20.04 et partagez des fichiers sur Linux et Windows

Comment supprimer des lignes vides dans des fichiers à l'aide de Grep, Sed et Awk

Trouvez facilement des fichiers et des répertoires sur Linux

Logiciel multimédia Xine - Lire des fichiers audio et vidéo dans Ubuntu Linux