Obsah

¨

sed (Stream Editor)

sed je řádkový editor, který transformuje text na základě zadaných pravidel. Funguje tak, že čte vstup řádek po řádku, provede úpravu v paměti (v tzv. pattern space) a výsledek vypíše na standardní výstup (obvykle obrazovku).

1. Základní syntaxe

Základní zápis příkazu vypadá následovně:

2. Nejčastější použití: Nahrazování textu

Nejpoužívanějším příkazem v rámci `sed` je s (substitute).

Základní nahrazení

sed 's/starý/nový/' soubor.txt

Globální nahrazení

sed 's/starý/nový/g' soubor.txt

Změna přímo v souboru

Příkaz sed standardně soubor nemění, jen vypisuje výsledek. Pro uložení změn použijte přepínač -i (in-place):

3. Další užitečné funkce

Příkaz Akce Příklad
Mazání Smaže řádky odpovídající vzoru. sed '3d' soubor (smaže 3. řádek)
Vypisování Vypíše pouze určité řádky (s přepínačem -n). sed -n '1,5p' soubor (vypíše 1. až 5. řádek)
Regulární výrazy Umožňuje používat složité vyhledávací vzory. sed 's/[0-9]/X/g' (nahradí všechny číslice znakem X)

4. Proč používat sed?

5. Příklad z praxe

Představte si, že máte log soubor a chcete z něj vymazat všechny prázdné řádky:

(Vysvětlení: ^$ je regulární výraz pro začátek řádku následovaný okamžitě koncem řádku, tedy prázdný řádek.)

Zajímavost: Spolu s nástroji grep a awk tvoří sed tzv. „svatou trojici“ pro zpracování textu v Linuxu. Zatímco grep hledá a awk zpracovává sloupce a data, sed je mistrem v transformaci řádků.

Zpět na Linux