Ed (editor)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Ed je textový editor pro Unixově podobné operační systémy, který byl vytvořen jako součást vývojového prostředí Plan 9 from Bell Labs. Jeho návrh je založen na dohromady složeném obsahu, což znamená, že text je reprezentován jako strom a každý uzel reprezentuje několik znaků. Ed byl představen v roce 1980 a stal se součástí mnoha systémů odvozených od Plan 9. Ed je známý svou jednoduchostí a minimalistickým rozhraním. Jeho funkcionalita je omezena na základní operace, jako je vkládání, mazání a hledání textu. Neobsahuje žádnou uživatelskou přívětivost, předvolby nebo možnost vizuálního zobrazení textu. Ed je navržený tak, aby byl snadno ovladatelný z příkazové řádky. I přes svou jednoduchost je Ed vysoce přizpůsobitelný. Může být rozšířen pomocí samostatných skriptů nebo v rámci složitějších algoritmů. Ed získal popularitu mezi vývojáři, kteří ocenili jeho jednoduchost a spolehlivost. Stále je přítomen v mnoha Unixových systémech a je užíván pro úpravu konfiguračních souborů a skriptů.

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.

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é „. +more“. 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. +more 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. +more 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.

Externí odkazy

[url=http://www. gnu. +moreorg/software/ed/ed. html]domovská stránka na projektu GNU[/url] * [url=https://web. archive. org/web/20040825015310/http://snap. nlc. dcccd. edu/learn/nlc/ed. html]UNIX Editors I[/url] * [url=http://www. gnu. org/fun/jokes/ed. msg. html]ed humor[/url].

Kategorie:Unix Kategorie:Textové editory

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top