Les fichiers de configuration sous GNU/Linux sont parfois ongs et il n'est pas facile de distinguer les lignes importantes de celles des commentaires, souvent plus nombreuses. C'est le cas par exemple de fichier de configuration de squid (proxy) qui comporte pas moins de 3500 lignes...
Voici comment afficher le contenu d'un fichier de configuration sans les lignes de commentaires, ce qui rend le fichier nettement plus lisible:
grep "^[^#*/;]" /etc/samba/smb.conf egrep -v "^\s*(#|$)"
L'équivalent POSIX
grep -E -v '^(#|$|;)' /etc/samba/smb.conf egrep -v "^[[:space:]]*(#|$)" /etc/samba/smb.conf
Voici une alternative avec sed :
# more /chemin/vers/fichier.conf | sed '/ *#/d; /^ *$/d'
Exemple avec le package ftp-proxy :
# more /etc/proxy-suite/ftp-proxy.conf | sed '/ *#/d; /^ *$/d' [-Global-] AllowMagicUser yes AllowTransProxy no DestinationAddress localhost Group nogroup LogDestination /var/log/ftp-proxy/ftp-proxy.log Port 2370 User nobody
Vous pouvez rediriger la sortie vers un fichier pour les mémoriser :
# more /etc/proxy-suite/ftp-proxy.conf | sed '/ *#/d; /^ *$/d' > sanscommentaire.conf
Cette petite astuce est très utile si vous rédigez des documentations avec à l'intérieur des copies de fichiers de configuration à rallonge. Vos documentations et procédures seront plus concises et compréhensibles, surtout si en cas d'urgence. Croyez moi 🙂
Astuce trouvée chez l'excellent blog nixCraft
Et pour trier les lignes et trouver plus facilement la ligne que vous cherchez
cat /etc/proxy-suite/ftp-proxy.conf | grep "^[^#*/;]" | sed -r '/^( |\t|$)/ d' | sort
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
Un commentaire
Il est également possible de le faire dans VI(M) avec la commande :
:%g/^#/d
A utiliser avec modération 🙂