Brzi vodič za korištenje naredbi sed u Linuxu

Uvod u naredbu Linux sed

Linux operativni sustav koristi terminalne naredbe za rad s računalnim datotečnim sustavom. Primarna upotreba Linux naredbe sed , koja je kratica za uređivač streamova, jest izmijeniti svaku liniju datoteke ili struje zamjenom određenih dijelova retka. To čini osnovne promjene teksta u datoteku ili ulaz iz cjevovoda. Na primjer, recimo da imate datoteku pod nazivom "songs.text" koja sadrži sljedeće retke:

1, Justin Timberlake, naslov 545, cijena 6,30 dolara 2, Taylor Swift, naslov 723, cijena 7,90 dolara 3, Mick Jagger, naslov 610, cijena 7,90 dolara 4, Lady Gaga, naslov 118, cijena 6,30 dolara 5, Johnny Cash, naslov 482, cijena 6,50 kn 6, Elvis Presley, naslov 335, cijena 6,30 dolara 7, John Lennon, naslov 271, cijena 7,90 dolara

Izrada tekstnih zamjena sa sed

Ako želite promijeniti sve pojavljivanja cijena od $ 6.30 do $ 7.30, možete izvršiti promjene pomoću naredbe sed na ovaj način:

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

Ovaj kôd izvršava promjenu i piše modificiranu datoteku u "songs2.txt". Izlazna datoteka sadrži:

1, Justin Timberlake, naslov 545, cijena 7,30 dolara 2, Taylor Swift, naslov 723, cijena 7,90 dolara 3, Mick Jagger, naslov 610, cijena 7,90 dolara 4, Lady Gaga, naslov 118, cijena 7,30 dolara 5, Johnny Cash, naslov 482, cijena 6,50 kn 6, Elvis Presley, naslov 335, cijena 7,30 dolara 7, John Lennon, naslov 271, cijena 7,90 dolara

Ako želite sve događaje "Gotovina" zamijeniti sa "Trash", upotrebljavate:

sed / Cash / Trash / "songs.txt" songs2.txt

koji stvara datoteku s sadržajem:

1, Justin Timberlake, naslov 545, cijena 7,00 dolara 2, Taylor Swift, naslov 723, cijena 7,90 dolara 3, Mick Jagger, naslov 610, cijena 7,90 dolara 4, Lady Gaga, naslov 118, cijena 7,30 dolara 5, Johnny Trash, naslov 482, cijena 6,50 dolara 6, Elvis Presley, naslov 335, cijena 7,00 dolara 7, John Lennon, naslov 271, cijena 7,90 dolara

Filtriranje pomoću naredbe Sed

Sed se često koristi za filtriranje linija u datoteci ili streamu. Na primjer, ako samo želite vidjeti retke koje sadrže "John", koristite:

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

koji piše sljedeće retke u datoteku johns.txt:

5, Johnny Trash, naslov 482, cijena 6,50 dolara 7, John Lennon, naslov 271, cijena 7,90 dolara