Archivio tag per 'shell'

Ott
29

Come sostituire automaticamente una stringa su uno o più file con sed per Linux

Ieri mi è capitato di dover sostituire una stringa di codice PHP, presente in diversi file contenuti nella stessa directory, con un’altra stringa.

Essendo un fan della riga di comando *unix, ho deciso di utilizzare sed, non prima di una ripassatina veloce al man(uale), per ricordare la sintassi di utilizzo, che è la seguente:

sed -e "s/VECCHIASTRINGA/NUOVASTRINGA/g" *.ESTENSIONE

dove, VECCHIASTRINGA e NUOVASTRINGA penso si commentino da sole, mentre ESTENSIONE deve essere sostituita con l’estensione dei file da sostituire. Nel caso in cui la sostituzione coinvolgesse tutti i file, è possibile indicare *.* !

Grazie a questo semplice comando, tutti i file sono stati modificati velocemente e correttamente.

P.S. sicuramente qualcuno di voi si starà  chiedendo “e se i file sono sparsi in sottocartelle come faccio?”. La risposta è presto detta:

find . -type f -name '*.ESTENSIONE' -exec sed -e "s/VECCHIASTRINGA/NUOVASTRINGA/g" {} \;




Hai bisogno di un sito web?

Web&Dintorni

Vuoi collaborare a questo blog?

Ogni tipo di collaborazione è benvenuta!


Scrivimi all'indirizzo paolo.gatti@gmail.com o invia un messaggio sulla pagina Facebook!