Sostituire una stringa in un file di testo con Linux

Abbiamo una miriade di files, ad esempio HTML che contengono centinaia e centinaia di hyperlink che vogliamo tutti spostare, magari a causa della migrazione del nostro sito.

 

Perchè perdere ore utilizzando la funzione sostituisci di un editor di testo, come gedit, ad esempio?

Il comando che si può utilizzare da console è comodo, si chiama sed:

Apriamo il terminale e una volta entrati nella cartella contenente i files di nostro interesse digitiamo, ad esempio per sostituire l’occorrenza di

/home/carlo

con la stringa

http://www.cicciopasticcio.it

sed -i ‘s:/home/carlo/:http\:\/\/www\.cicciopasticcio\.it/:g’ *.html

P.S

Se vogliamo sostituire una stringa contenenete caratteri come backslash, slash, punti, due punti o punto e virgola, ricordiamoci di anticiparli sempre con un backslash!

Questo consiglio vi può far guadagnare delle ore!

Vai articolo originale: http://carlonicolini.altervista.org/index.php/Informatica-e-Web/Varie/sostituire-una-stringa-in-un-file-di-testo-con-linux.html