Site icon Tosolini.info

Bash: eliminare i commenti da un file di configurazione

Qualche volta, anzi direi anche spesso, capita di mettere mano a file di configurazione, magari rimaneggiati da altri. Dipende un po’ da come sono strutturati i programmi e da quante opzioni, o potenziali opzioni, hanno inserito. 

In pratica ci si ritrova a guardare listati lunghissimi dove il 90% è roba commentata e quindi di fatto non attiva. Il tutto mentre magari stiamo proprio cercando di capire cosa ci sia di realmente attivo. Ecco che grep con le espressioni regolari ci vengono in aiuto.

Generalmente in bash i file di configurazione hanno il carattere # ad inizio riga per indicare il commento. Quindi lo scopo è di filtrare queste righe mostrando tutte le altre. Lo si fa con:

grep "^[^#]" nomefile.conf

Chiaramente andrete a modificare “nomefile” con ciò che state esaminando. Due spiegazioni, il carattere ^ indica l’inizio della riga, o meglio il primo carattere della riga. Con [^#] indichiamo di cercare tutte le righe che non abbiano il carattere #, quindi comprese anche quelle vuote. Ma è probabile che questo sia un problema marginale rispetto al risultato.

Il comando può essere esteso anche con il simbolo ; che in talune configurazioni è usato anch’esso come commento:

grep "^[^#;]" nomefile.conf

Chiaramente nel caso di altri tipi di commento, penso ad esempio alle classiche doppie slash // tipiche di javascript o php basterà modificare il comando di cui sopra sostituendo i caratteri.

Exit mobile version