Michael Koflers Blog
Tipp: Kommentare eliminieren mit grep
Bei vielen Linux-Programmen dient die Konfigurationsdatei gleichzeitig auch zur Dokumentation. Zum Einarbeiten in eine neue Konfigurations-Syntax kann das durchaus praktisch sein. Wenn die vielen Kommentare aber die Orientierung im Text verhindern, schafft grep Abhilfe.
Ein typisches Beispiel ist die Samba-Konfigurationsdatei smb.conf unter Ubuntu. Die Datei umfasst 337 Zeilen, 306 davon enthalten Kommantare oder sind leer. Es gleicht schon fast der Suche nach der Nadel im Heuhaufen, will man die wenigen relevanten Anweisungen finden ...
Bei der Samba-Konfiguration leiten die Zeichen # und ; Kommentare ein. grep -v ^# eliminiert alle Zeilen, die mit # beginnen, grep -v '^;' eliminiert die Zeilen, die mit einem Semikolon beginnen. grep -v '^$' filtert schließlich leere Zeilen aus.
cd /etc/samba cp smb.conf smb.conf.orig grep -v '^#' smb.conf.orig | grep -v '^;' | grep -v '^$' > smb.conf
Naturgemäß müssen Sie das grep-Kommando an die Syntax der jeweiligen Konfigurationsdatei anpassen.
Update: Noch einfacher lässt sich das grep-Kommando mit der Option -E (für Extended Regular Expressions) bzw. mit egrep formulieren (danke an thelightmaker):
grep -Ev '^#|^;|^$' smb.conf.orig > smb.conf
grep -Ev '^#|^|^;' smb.conf.orig > smb.conf
Grüße ...