Il sistema operativo Linux utilizza i comandi del terminale per lavorare con il file system di un computer. L'uso principale del comando Linux sed, che è l'abbreviazione di Stream Editor, consiste nel modificare ogni riga di un file o stream sostituendo parti specificate della linea. Rende le modifiche di base del testo a un file o a un input da una pipeline. Ad esempio, supponiamo di avere un file denominato "songs.text" che contiene queste righe:
1, Justin Timberlake, titolo 545, prezzo $ 6,302, Taylor Swift, Titolo 723, Prezzo $ 7,903, Mick Jagger, titolo 610, prezzo $ 7,904, Lady Gaga, titolo 118, prezzo $ 6,305, Johnny Cash, Titolo 482, Prezzo $ 6,506, Elvis Presley, Titolo 335, Prezzo $ 6,307, John Lennon, titolo 271, prezzo $ 7,90 Se si desidera modificare tutte le occorrenze di prezzo da $ 6,30 a $ 7,30, è possibile apportare le modifiche utilizzando il comando sed in questo modo: sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt
Questo codice apporta la modifica e scrive il file modificato in "songs2.txt". Il file di output contiene: 1, Justin Timberlake, titolo 545, prezzo $ 7,302, Taylor Swift, Titolo 723, Prezzo $ 7,903, Mick Jagger, titolo 610, prezzo $ 7,904, Lady Gaga, titolo 118, prezzo $ 7,305, Johnny Cash, Titolo 482, Prezzo $ 6,506, Elvis Presley, titolo 335, prezzo $ 7,307, John Lennon, titolo 271, prezzo $ 7,90
Se si desidera sostituire tutte le occorrenze di "Contanti" con "Cestino", si utilizza: sed 's / Cash / Trash /' songs.txt> songs2.txt
che crea un file con contenuto: 1, Justin Timberlake, titolo 545, prezzo $ 7: 302, Taylor Swift, Titolo 723, Prezzo $ 7,903, Mick Jagger, titolo 610, prezzo $ 7,904, Lady Gaga, titolo 118, prezzo $ 7: 305, Johnny Trash, Titolo 482, Prezzo $ 6,506, Elvis Presley, Titolo 335, Prezzo $ 7: 307, John Lennon, titolo 271, prezzo $ 7,90 Anche Sed viene spesso utilizzato per filtrare le righe in un file o in un flusso. Ad esempio, se vuoi vedere solo le righe contenenti "John", usi: sed -n '/ John / p' songs.txt> johns.txt
che scrive le seguenti righe nel file johns.txt: 5, Johnny Trash, Titolo 482, Prezzo $ 6,507, John Lennon, titolo 271, prezzo $ 7,90 Fare sostituzioni di testo con Sed
Filtraggio con il comando Sed