Brzi vodič za korištenje Sed komandi na Linuxu

Uvod u Linux sed naredbu

Linux operativni sistem koristi komandne terminale za rad sa sistemskim datotekama računara. Primarna upotreba Linux komande sed , koja je kratka za uređivač teksta, je da modifikuje svaku liniju datoteke ili toka zamjenom određenih dijelova linije. Ona vrši osnovne promene teksta u fajlu ili unosu iz cevovoda. Recimo, recimo da imate datoteku pod nazivom "songs.text" koja sadrži ove linije:

1, Justin Timberlake, Naslov 545, Cijena $ 6.30 2, Taylor Swift, Naslov 723, Cijena $ 7.90 3, Mick Jagger, Naslov 610, Cijena $ 7.90 4, Lady Gaga, Titula 118, Cijena $ 6.30 5, Johnny Cash, Naslov 482, Cijena 6,50 € 6, Elvis Presley, Naslov 335, Cijena $ 6.30 7, John Lennon, Naslov 271, Cijena $ 7.90

Izrada tekstualnih zamjena sa Sed

Ako želite promijeniti sve pojave cijena od $ 6.30 do $ 7.30, možete izvršiti izmjene koristeći sed naredbu na ovaj način:

sed '/ 6.30 / 7.30 /' songs.txt> songs2.txt

Ovaj kod čini promenu i piše modifikovanu datoteku na "songs2.txt". Izlazna datoteka sadrži:

1, Justin Timberlake, Naslov 545, Cijena $ 7.30 2, Taylor Swift, Naslov 723, Cijena $ 7.90 3, Mick Jagger, Naslov 610, Cijena $ 7.90 4, Lady Gaga, Titula 118, Cijena $ 7.30 5, Johnny Cash, Naslov 482, Cijena $ 6.50 6, Elvis Presley, Naslov 335, Cijena $ 7.30 7, John Lennon, Naslov 271, Cijena $ 7.90

Ako želite zamijeniti sve pojave "Cash" sa "đubretom" koristite:

sed '/ Cash / Trash /' songs.txt> songs2.txt

koji kreira datoteku sa sadržajem:

1, Justin Timberlake, Naslov 545, Cijena $ 7: 30 2, Taylor Swift, Naslov 723, Cijena $ 7.90 3, Mick Jagger, Naslov 610, Cijena $ 7.90 4, Lady Gaga, Titula 118, Cijena $ 7: 30 5, Johnny Trash, Title 482, Cijena 6,50 € 6, Elvis Presley, Naslov 335, Cijena $ 7: 30 7, John Lennon, Naslov 271, Cijena $ 7.90

Filtriranje sa Sed komandom

Sed se takođe često koristi za filtriranje linija u fajlu ili toku. Na primjer, ako želite samo da vidite linije koje sadrže "John", koristite:

sed -n '/ John / p' songs.txt> johns.txt

koja piše sljedeće redove da bi file johns.txt:

5, Johnny Trash, Naslov 482, Cijena $ 6.50 7, John Lennon, Naslov 271, Cijena $ 7.90