sostituire la stringa di testo nel file [Guide]

La modifica manuale dei file di testo su Linux può essere noiosa. Ecco perché è utile sapere come sostituire rapidamente le stringhe di testo nei file utilizzando la riga di comando. Se sei nuovo su Linux e non sai come farlo, possiamo aiutarti! Segui mentre ti mostriamo come sostituire una stringa di testo in un file su Linux!

Sostituisci la stringa di testo nel file – sed

Lo strumento sed è il modo migliore per sostituire una stringa di testo in un file su Linux. La ragione? È semplice da usare e fa molto bene il suo lavoro. Sed è solitamente preinstallato sul 99% dei sistemi operativi Linux, quindi non è necessario installarlo per utilizzarlo.

La sostituzione di una stringa di testo in un file con Sed viene eseguita con il comando sed -i. Ecco come usarlo. Innanzitutto, apri una finestra di terminale sul desktop Linux. Puoi aprire una finestra di terminale premendo Ctrl + Alt + T sulla tastiera.

Una volta che la finestra del terminale è aperta e pronta per l’uso, scrivi sed -i nel prompt del terminale. Questo è l’inizio del comando di sostituzione.

sed -i

Dopo aver scritto il comando sed -i, aggiungi un segno di virgolette. Questa virgoletta è essenziale, poiché tutto il testo sostituito con sed -i deve iniziare dopo questo segno.

sed -i '

Dopo il primo segno ‘, scrivi s /. La s / va direttamente prima del testo esistente che desideri sostituire utilizzando sed.

sed -i 's/

Ora che s / è scritto nel prompt della riga di comando del terminale, è il momento di dire a sed quale testo sostituire nel file. In questo esempio, sostituiremo la parola “mela”.

sed -i 's/apple

Quando il testo che vogliamo sostituire viene scritto nel comando, il passo successivo è scrivere il nuovo testo che lo sostituirà. In questo esempio, sostituiremo “mele” con “arance”.

sed -i 's/apples/oranges

Una volta che il testo che vogliamo sostituire è stato scritto nel comando (arance), chiudi il comando con g /. La g / dice a sed di sostituire tutte le istanze di testo (mele) con il nuovo testo (arance). Dovrebbe assomigliare all’esempio seguente.

Nota: se non vuoi sostituire ogni testo nel file (da mele ad arance, per esempio), rimuovi la g e fallo eseguire come sed -i ‘s / mele / arance /’.

sed -i 's/apple/orange/g'

Infine, dì a sed in quale file si trova il testo che deve essere sostituito. In questo esempio, il target è fruit.txt nella directory home.

sed -i 's/apples/oranges/g' ~/fruit.txt

Premere il tasto Invio per eseguire il comando e sostituire la stringa di testo nel file.

Sostituisci la stringa di testo nel file – Perl

Un altro modo per sostituire una stringa di testo in un file su Linux è con il linguaggio di programmazione Perl. Perl è molto utilizzato per l’elaborazione del testo, quindi, naturalmente, può scambiare le stringhe di testo nei file ed è perfetto per questo caso d’uso.

Per iniziare, assicurati di avere Perl installato sul tuo PC Linux. La maggior parte dei sistemi operativi Linux viene fornita con Perl installato. Tuttavia, se non ce l’hai, controlla la pagina della guida del tuo sistema operativo per informazioni su come farlo funzionare.

L’uso di Perl per sostituire le stringhe di testo in un file richiede il terminale. Apri un terminale sul desktop Linux premendo Ctrl + Alt + T sulla tastiera. Oppure cerca “Terminale” nel menu dell’app e avvialo in questo modo.

Una volta che la finestra del terminale è aperta e pronta per l’uso, inizia a digitare perl -pe nel prompt della riga di comando. Il comando perl -pe è ciò che è necessario per sostituire una stringa di testo in un file.

perl -pe

Dopo aver scritto perl -pe nel prompt del terminale, dovrai iniziare con il primo segno di virgolette. Questo segno indica a Perl dove si trova l’area di sostituzione del testo nel comando.

perl -pe '

Dopo la prima virgoletta, aggiungi s /, seguito dalla stringa di testo che desideri sostituire e un’altra /. Ad esempio, per sostituire “mele” nel file fruit.txt, dovresti scrivere il testo seguente.

perl -pe 's/apples/

Dopo aver scritto la parola o le parole che desideri sostituire, aggiungi la parola che sostituirà il testo esistente. Ad esempio, se desideri sostituire “mele” in “frutto.txt” con “arance”, aggiungi “arance” dopo perl -pe ‘s / mele / in modo che sembri perl -pe’ s / mele / arance / .

perl -pe 's/apples/oranges/

Una volta che entrambe le stringhe di testo sono nel comando, dovrai specificare il file di input che Perl usa. Ad esempio, se desideri sostituire il testo nel file “fruit.txt”, dovrai specificarlo nel comando.

Nota: in questo esempio, il file “fruit.txt” si trova nella directory home (~ /). Assicurati di sostituire “~ / fruit.txt” con la posizione del tuo file di testo affinché il comando funzioni.

perl -pe 's/apples/oranges/' ~/fruit.txt

Ora che il file di input (il file che stai modificando con Perl) è stato aggiunto al comando, il comando dovrebbe avere l’aspetto seguente.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Quando viene eseguito il comando precedente, la stringa di testo verrà sostituita con il nuovo testo specificato. Nel nostro esempio, abbiamo sostituito “mele” con “arance”. Per visualizzare le modifiche, inserisci il comando seguente.

cat fruit.txt