Úvod do príkazu Linux sed
Operačný systém Linux využíva terminálové príkazy na prácu s počítačovým systémom súborov. Primárne použitie príkazu Linux sed , ktorý je krátky pre stream editor, je upraviť každý riadok súboru alebo streamu nahradením určených častí riadku. Zmení základné zmeny textu na súbor alebo vstup z potrubia. Povedzme napríklad, že máte súbor s názvom "songs.text", ktorý obsahuje tieto riadky:
1, Justin Timberlake, titul 545, cena $ 6.30 2, Taylor Swift, titul 723, cena $ 7.90 3, Mick Jagger, titul 610, cena $ 7.90 4, Lady Gaga, titul 118, cena $ 6.30 5, Johnny Cash, titul 482, 6, Elvis Presley, titul 335, cena 6,30 dolárov 7, John Lennon, titul 271, cena 7,90 dolárovVytváranie textových náhrad pomocou Sed
Ak chcete zmeniť všetky výskyty cien vo výške 6,30 až 7,30 dolárov, môžete vykonať zmeny pomocou príkazu sed týmto spôsobom:
sed 's / 6.30 / 7.30 /' songs.txt> songs2.txtTento kód vykoná zmenu a zapisuje upravený súbor na "songs2.txt". Výstupný súbor obsahuje:
1, Justin Timberlake, titul 545, cena $ 7.30 2, Taylor Swift, titul 723, cena $ 7.90 3, Mick Jagger, titul 610, cena $ 7.90 4, Lady Gaga, titul 118, cena 7.30 dolárov 5, Johnny Cash, titul 482, 6, Elvis Presley, titul 335, cena 7,30 dolárov 7, John Lennon, titul 271, cena 7,90 dolárovAk chcete nahradiť všetky výskyty "Hotovosť" pomocou "Koša", použite:
Sed 's / Cash / Trash /' songs.txt> songs2.txtktorý vytvorí súbor s obsahom:
1, Justin Timberlake, Názov 545, Cena $ 7: 30 2, Taylor Swift, Názov 723, Cena $ 7.90 3, Mick Jagger, Názov 610, Cena $ 7.90 4, Lady Gaga, Názov 118, Cena $ 7: 30 5, Johnny Trash, Názov 482, cena 6,50 dolárov 6, Elvis Presley, titul 335, cena 7 dolárov: 30 7, John Lennon, titul 271, cena 7,90 dolárovFiltrovanie pomocou príkazu sed
Sed sa tiež často používa na filtrovanie riadkov v súbore alebo streamu. Ak napríklad chcete vidieť iba riadky obsahujúce "John", používate:
sed -n '/ John / p' songs.txt> johns.txtktorý zapíše nasledujúce riadky do súboru johns.txt:
5, Johnny Trash, Názov 482, Cena $ 6.50 7, John Lennon, Názov 271, Cena $ 7.90