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».
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