Desáté cvičení – Pokračování sedu

Úvod je stejný, jako u devátého cvičení.

Jak spustit sed:

sed 'prikaz' [vstupni_soubor1...]
sed -f soubor_s_prikazy [vstupni_soubor1...]
sed -e 'prikazy' -f soubor_s_prikazy [vstupni_soubor1...]

Tvar příkazu:

adresa1[,adresa2]prikaz[parametry]

Určení adresy:


Příkazy:

Zobrazit/skrýt staré příkazy
Novinka – Značky, skoky a podmínky:

Příklady:

  1. Napište příkaz sedu, který vypíše řádky na vstupu v opačném pořadí (podobně, jako příkaz tac)
  2. Stáhněte si ukázkový email s hlavičkami (nebo použijte vlastní) a:
    • Vypište pouze tělo emailu (bez hlaviček)
    • Vypište pouze hlavičky From:, To:, Subject: a pak tělo emailu
  3. Vymyslete sedový skript, který bude odstraňovat komentáře ze shellových souborů:
    • Komentáře jsou vše za znakem # (ignorujte uvozovky a podobné, ať je to jednoduché)
    • Pokud řádek obsahoval jenom komentář (a mezery/tabulátory před ním), tak ho vymažte celý
    • Pokud první řádek obsahuje shebang (#!/...), tak ho tam nechte
  4. Vymyslete sedový skript normalizující adresy v souborovém systému. Měl by tedy dělat:
    • /etc/./././passwd/etc/passwd
    • /usr/local/bin/../../bin//usr/bin
    Pozor na názvy souborů/složek začínající nebo končící tečkou.
  5. Vymyslete sedový skript, který bude mazat nadbytečné prázdné řádky – tedy každou posloupnost za sebou jdoucích prázdných řádků změní na jediný prázdný řádek.