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. Mit grep -Ev lassen sich alle drei Fälle durch Oder verknüpfen:

cd /etc/samba
cp smb.conf smb.conf.orig
grep -Ev '^#|^;|^$' smb.conf.orig > smb.conf

Naturgemäß müssen Sie das grep-Kommando an die Syntax der jeweiligen Konfigurationsdatei anpassen.