Vai al contenuto

Se state lavorando in Linux su un applicazione che ha molti file di configurazione torna utile poter fare delle modifiche in blocco a tutti questi file, in particolare sostituire tutte le occorrenze di una stringa in tutti file con una stringa sostitutiva.

Si può fare usando find per localizzare tutti i file di configurazione e sed per effettuare le sostituzioni il tutto in una "semplice" e singola riga di comando.

find /dove/sono/i/file/ -type f -name "*.cfg" -print0 | xargs -0 sed -i 's/StringaAttuale/StringaSostitutiva/g'

Mini spiegazione

/dove/sono/i/file/ è il punto a partire dal quale ci sono i file di configurazione e find va a cercare anche nelle sotto cartelle

I file di configurazione terminano tutti con .cfg

StringaAttuale e StringaSostitutiva si spiegano da soli e sappiate che se volete eliminare la StringaAttuale basta non mettere nulla al posto di StringaSostitutiva e che StringaAttuale può anche essere una regular expression.