Skip to main content

Esempi di come viene usato il comando Sed di Linux

Week 7, continued (Giugno 2025)

Week 7, continued (Giugno 2025)
Anonim

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

Fare sostituzioni di testo con Sed

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

Filtraggio con il comando Sed

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