Come si sostituisce una variabile in un file usando sed?

Come si sostituisce una variabile in un file usando sed?

Steam Editor, abbreviato come SED, è un comando utilizzato per trovare e sostituire qualsiasi testo in un file utilizzando varie tecniche e sintassi. In questo post, afferreremo i concetti di SED e impareremo come è possibile sostituire una variabile o il suo valore in un file usando SED.

La sintassi per la sostituzione della stringa

Per sostituire un valore variabile usando SED, dobbiamo prima capire come funziona SED e come possiamo sostituire una stringa semplice in qualsiasi file usando SED.

Per sostituire qualsiasi stringa, la sintassi è piuttosto semplice e indicata di seguito:

$ sed -i 's/old-string/new-string/g' file_name

In questa sintassi, devi solo fornire la stringa che si desidera sostituire nella vecchia stringa e quindi la nuova stringa nelle virgole invertite. Successivamente, fornisci il file in cui si desidera trovare e sostituire la stringa menzionata.

Esempio:

Supponiamo di avere un file di testo ".txt "in cui abbiamo un testo casuale come" Welcome to Linuxhint's Channel ", e in questo file, vogliamo sostituire il canale Word sul sito Web utilizzando il comando SED.

$ cat file.TXT

Il comando per la modifica del canale sul sito Web andrebbe così:

$ sed -i 's/canale/sito web/g'.TXT

Dopo aver eseguito il comando, diamo un'occhiata al file:

$ cat file.TXT

La stringa è stata sostituita usando il comando SED. Quindi, è così che è possibile trovare e sostituire qualsiasi stringa in qualsiasi file del sistema operativo Linux utilizzando il comando SED.

Ora, impariamo a sostituire un valore variabile in un file.

Sostituire una variabile

La sintassi per la ricerca e la sostituzione del valore di una variabile in un file usando SED è la stessa di trovare e sostituire una stringa in un file. L'unica parte delicata è scrivere un'espressione regolare per trovare qualcosa in un file per sostituire quella parte. Quindi, per cambiare il valore di una variabile, la sintassi andrà così:

$ sed -i 's/var =.*/var = new_value/'file_name

Diamo un'occhiata a un esempio per vedere la vera implementazione e capirlo con più chiarezza.

Esempio:

Supponiamo di avere un file di codice Python in cui abbiamo un paio di variabili. Quelle variabili hanno alcuni valori assegnati a loro.

$ Cat Code.Py

Ora, per sostituire qualsiasi variabile, possiamo cercarlo con il suo nome e fornire un nuovo valore utilizzando il comando SED di seguito:

$ sed -i 's/num1 =.*/num1 = 200/'codice.Py

Dopo aver eseguito il comando SED sopra, visualizziamo nuovamente il contenuto del file:

$ Cat Code.Py

Puoi vedere che il valore della variabile "num1" è stato sostituito secondo il nostro requisito.

Utilizzando questo semplice trucco, è possibile sostituire qualsiasi variabile o il suo valore in qualsiasi file utilizzando SED.

Conclusione

Questo post fornisce un modo semplice e semplice per trovare e sostituire una variabile in qualsiasi file utilizzando SED. Abbiamo imparato a sostituire una stringa in un file e sostituire il valore di una variabile usando SED.