19/12/2024

Commandes et Système

Enlever les commentaires d’un fichier

I. Présentation

Dans certains fichiers de configuration la présence des commentaires (reconnaissables car ils commencent par '#') peut rendre difficile la lecture, il peut être utile d'enlever ces lignes pour ne garder que les lignes de configurations utiles. Avec la commande sed, il est possible de traiter entièrement le fichier, d'en enlever tous les commentaires et de sauvegarder le résultat dans un autre fichier (sans changer le fichier initial).

II. Exemple

Admettons que nous ayons une fichier (config.txt) contenant ces lignes :

Début du fichier
# commentaire
# commentaire
# commentaire
milieu
# commentaire
# commentaire
Fin de ficher

Si nous ne voulons garder que les lignes dé-commentées, il nous faut appliquer cette commande et sauvegarder dans un fichier config2.txt

sed '/^#/d' config.txt > config1.txt

La sortie de cette commande sera

Début de fichier
milieu
Fin de fichier
  • sed est une commande qui permet de manipuler des fichiers ou beaucoup d'autres type d'entrée.
  • /^#/ est la chaine de caractère que nous allons chercher dans chaque ligne que lit sed dans le fichier config.txt. «^» signifiant début de ligne et «#» est le début d'une ligne commentée.
  • Le «d» signifie que nous n'allons pas afficher les lignes contenant notre recherche dans le résultat (appelée sortie).
  • Nous inscrivons ensuite ce résultat dans le fichier config1.txt avec cette partie de commande «> config1.txt».
author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Enlever les commentaires d’un fichier

  • Salut Mickael !

    Merci pour ta solution 😉

    Un autre moyen serait de faire la commande (j’utilise l’exemple de squid.conf qui est l’un des fichiers qui est le plus long avec des commentaires…) :

    grep ^[^#] squid.conf > squid.conf.new

    A bientôt

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.