ed (editor)
ed
je standardní unixový interaktivní řádkový textový editor a je prvním programem, v němž byly implementovány regulární výrazy. Jeho původním autorem je Ken Thompson, který při svém návrhu vycházel ze staršího editoru QED. ed sám se stal inspirací pro mnoho pozdějších unixových programů; jeho příkazy převzal editor vi (později i vim) a vychází z něj i neinteraktivní programy sed a grep.
Vývojář | Bellovy laboratoře |
---|---|
Operační systém | UN*X Unix |
Typ softwaru | standardní UNIXová utilita či příkaz a řádkový editor |
Některá data mohou pocházet z datové položky. |
Podobně jako většina programů z té doby (namátkou třeba kalkulátor dc), vyznačuje se ed extrémní stručností. Například dojde-li k chybnému zadání nebo při ujištění, že chce uživatel program ukončit bez uložení, vypíše ed prosté „?“. Nezmiňuje název editovaného souboru, číslo řádku, ani editovaný řádek samotný, není-li k tomu explicitně vyzván. Všechny příkazy jsou jednoznakové.
Jelikož je ed standardní součástí unixových a linuxových distribucí, ovládají lidé, kteří pracují s různými verzemi Unixu, alespoň základní příkazy, protože v některých situacích může být jediným dostupným editorem. Krom interaktivní editace lze ed využít i v shellových skriptech.
Ukázka práce s editorem
Práci s editorem ilustruje následující příklad (výstup editoru ed je vyznačen kurzívou):
a ed je standardni unixovy textovy editor. Tohle je radek cislo dva. . 2i . 1,$l ed je standardni unixovy textovy editor.$ $ Tohle je radek cislo dva.$ 3s/dva/tri/ 1,$l ed je standardni unixovy textovy editor.$ $ Tohle je radek cislo tri.$ w text.txt 68 q
Výsledkem je prostý textový soubor pojmenovaný „text.txt“ s následujícím obsahem:
ed je standardni unixovy textovy editor. Tohle je radek cislo tri.
Začínáme s prázdným souborem. Příkaz a slouží k přidání textu; tím se přepneme do vkládacího režimu, můžeme zapisovat normální text. Vkládací režim ukončíme tečkou na samostatném řádku. Námi zadané dva řádky jsou uloženy v souborovém bufferu. Příkaz 2i nás přepne do vkládacího režimu a vloží zadaný text (jímž je v našem případě prázdný řádek) před řádek číslo 2. Všem příkazům může předcházet číslo řádku.
l v zápisu 1,$l znamená příkaz pro výpis, tentokrát ale příkazu předchází rozsah řádků, kde $ označuje poslední řádek, takže se vypisuje od prvního do posledního řádku. Dojde k vypsání obsahu našeho souborového bufferu, přičemž konce řádků jsou označeny znakem $, aby byly jasně vidět tzv. bílé znaky.
Pro změnu textu dve na tri použijeme příkaz pro substituci, 3s/dva/tri/. Poté opět vypíšeme všechny řádky pomocí 1,$l a přesvědčíme se, že je vše v pořádku.
Příkaz w text.txt uloží obsah bufferu do souboru nazvaného „text.txt“. Číslem 68 ed sděluje počet znaků, které byly uloženy. Příkaz q ukončí práci s editorem.