Cerca nel blog

giovedì 12 luglio 2018

Sostituire in modo ricorsivo una striga di testo con Linux

Mi è capitato di dover sostituire una stringa di testo all'interno di una marea di files il comando è il senguente

grep -rl --include \*.ini --include \*.php "http://www.sito.ext/pagina1/"  /percorso/dove/cercare | xargs sed -i 's/http:\/\/www.sito.ext\/pagina1\//https:\/\/www.sito.ext\/pagina1\//g'



grep -rl cerca in modo ricorsivo (r) solo le occorrenze che matchano (l --files-with-matches )
--include \*.ini --include \*.php include le estensioni di file .ini e .php
"http://www.sito.ext/pagina1/" stringa da ricercare con i doppi apici!!!
/percorso/dove/cercare path completo in cui effettuare la ricerca ricorsiva
1 2

Il pipe passa il risultato a sed che si occuperà di sostituire (stringa con escape) il protocollo da http a https