Dans les fichiers de configuration, on a très souvent beaucoup de commentaires qui expliquent comment configurer les différents paramètres utiles. Ces commentaires sont vraiment très utiles mais encombrent l'écran quand on maîtrise les paramètres de ces fichiers de configuration.
Pour pouvoir n'afficher que les lignes sans commentaires, on spécifie une expression régulière à grep et le tour est joué.
Ici j'aimerais n'afficher que les lignes qui ne commencent pas par «$», ni par «;», ni par des espaces suivis par «#», ni les lignes vides, ce qui correspond à la quasi totalité des fichiers qu'on retrouve dans /etc
On crée le fichier /usr/bin/catnc
#!/bin/bash cat $1 | grep -E -v '^($|;|\s*#)'
puis on le rend exécutable
chmod +x /usr/bin/catnc
pour l'exécuter il suffit de donner son nom suivi du nom de fichier à afficher sans commentaire
Voici l'affichage d'un fichier de test avec cat
#cat /tmp/test.txt ; commentaire1 param=2 ; on peut modifier le param en 25 si besoin ; port=1745 port=1720 # commentaire2
Puis avec catnc
#catnc /tmp/test.txt param=2 port=1720