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».
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    Une pensée 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 de messagerie 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.