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