Ci sono molte situazioni in cui dobbiamo sostituire una parola all'interno di un file. Che si tratti di un file di configurazione del servizio, di un file di testo o di un file contenente database, in questo tutorial imparerai come cercare e sostituire una parola in un file su Linux.
Come cercare e sostituire una parola in un file su Linux
L'opzione più semplice se sei un utente del sistema operativo Linux, consiste nell'usare il comando "sed
". Ordine per editor di stream.
Diciamo ad esempio che abbiamo in un file di testo (document.txt) la parola "abc” che vogliamo sostituire con “xyz". La riga di comando con cui possiamo sostituire la parola sarà la seguente:
sed -ie 's/abc/xyz/g' document.txt
Quando eseguiamo il comando, la condizione è che ci troviamo nella cartella in cui si trova il file document.txt.
Se il comando viene eseguito da un'altra posizione, verrà scritto il percorso completo del file. Per esempio:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Dove "/full/path/
" è la cartella in cui si trova il file document.txt.
Dopo aver eseguito la riga di comando, l'opzione "-i
" creerà un file di backup identico a quello originale, ma all'estensione del quale aggiungerà la lettera "e
". Nel nostro caso, il documento di backup sarà document.txte.
-i[SUFFIX], --in-place[=SUFFIX] : edit files in place (makes backup if extension supplied)
-e script, --expression=script : add the script to the commands to be executed.
Questo ordine di “find & replace” non è valido solo per i file .txt. Puoi sostituire le parole all'interno di qualsiasi file che contiene testo. Anche nei file di database MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).