Esempi di come viene usato il comando ‘sed’ di Linux

Il sistema operativo Linux fa uso di comandi da terminale per lavorare con il file system di un computer. L’uso primario del comando Linux sed , che è l’abbreviazione di stream editor, è quello di modificare ogni riga di un file o stream sostituendo parti specifiche della riga. Effettua modifiche di testo di base ad un file o ad un input da una pipeline.

Esempi di utilizzo di ‘sed’ per apportare modifiche al file di testo

Supponiamo che abbiate un file chiamato songs.txt che contiene queste righe:

1, Justin Timberlake, titolo 545, prezzo $6.30 

1, Justin Timberlake, titolo 545, prezzo $6.30
2, Taylor Swift, titolo 723, prezzo $7.90

.
3, Mick Jagger, titolo 610, prezzo $7.90

.
4, Lady Gaga, Titolo 118, Prezzo $6.30

.

6, Elvis Presley, titolo 335, prezzo $6.30

.
7, John Lennon, Titolo 271, Prezzo $7.90

Si desidera modificare tutti i prezzi da 6,30 a 7,30 dollari. Per farlo, utilizzare il comando sed in questo modo:

Questo codice effettua la modifica e salva il file modificato come songs2.txt. Il nuovo file risultante contiene:

1, Justin Timberlake, titolo 545, prezzo $7.30


3, Mick Jagger, Titolo 610, Prezzo $7.90

4, Lady Gaga, Titolo 118, Prezzo $7.30

5, Johnny Cash, Titolo 482, Prezzo $6.50

6, Elvis Presley, Titolo 335, Prezzo $7.30

7, John Lennon, Titolo 271, Prezzo $7.90

Se si desidera sostituire tutte le occorrenze di "Cash" con "Cestino" si può anche utilizzare il comando sed in questo modo:

Il file songs2.txt modificato che ne risulta contiene il seguente testo:

1, Justin Timberlake, titolo 545, prezzo $7:30

3, Mick Jagger, Titolo 610, Prezzo $7.90

4, Lady Gaga, Titolo 118, Prezzo $7:30

5, Johnny Cestino, Titolo 482, Prezzo $6.50

6, Elvis Presley, Titolo 335, Prezzo $7:30

7, John Lennon, Titolo 271, Prezzo $7.90

Filtraggio con il comando 'sed'

Sed è anche usato frequentemente per filtrare le linee in un file o in un flusso. Per esempio, se si vogliono vedere solo le linee contenenti "John", si dovrebbe usare il seguente comando sed :

Il nuovo file johns.txt conterrà le seguenti righe:

5, Johnny Cash, Titolo 482, Prezzo $6.50

7, John Lennon, Titolo 271, Prezzo $7.90

Deja un comentario