Deváté cvičení – Základy sedu

Jak spustit sed:

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

sed -n ... - důležitý přepínač vypínající vypisování řádků (obsahu PS)

Tvar příkazu:

adresa1[,adresa2]prikaz[parametry]

Určení adresy:


Příkazy:

Základní příkazy (manipulace s pattern space): Základní příkazy++ (jejich uppercase verze): Manipulace s hold space: Vkládání: Další příkazy:

Příklady:

  1. Vypište ze souboru pouze liché řádky
  2. Na začátky lichých řádek souboru vložte +, na začátky sudých -
  3. Na začátky desáté až dvacáté řádky souboru /etc/passwd přidejte znak #
  4. Stáhněte si testovací soubor kapitoly.txt a zkuste:
    • Vypište pouze řádky s nadpisem kapitol
    • Vypište pouze řádky s nadpisy kapitol a podkapitol
    • Obalte každý název kapitoly řádky se znaky ====== (nad a pod)
  5. Napište příkaz sedu, který vypíše řádky na vstupu v opačném pořadí (podobně, jako příkaz tac)
  6. 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
  7. Vymyslete sedový skript, který bude odstraňovat komentáře ze shellových souborů:
    • Komentáře jsou vše za znakem #
    • 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
  8. */?>