GNU ed
příkaz je řádkový editor. Je považován za standardní unixový textový editor, protože to byl úplně první textový editor pro Unix, a tak byl (a obecně stále je) dostupný na jakémkoli systému POSIX. V některých ohledech je snadné říct, že to bylo první, protože je v mnoha ohledech extrémně rudimentární. Na rozdíl od většiny ostatních textových editorů se neotevírá ve vlastním okně nebo obrazovce a ve skutečnosti ve výchozím nastavení ani nevyzývá uživatele k zadání. Na druhou stranu, jeho téměř absence jakéhokoli rozhraní může být také silnou stránkou. Je to funkční editor, který lze ovládat pomocí krátkých instrukcí buď interaktivně, nebo pomocí skriptu.
Instalace ed
Pokud používáte Linux nebo BSD, pravděpodobně již máte ed
nainstalováno (GNU ed
na Linuxu a BSD ed
na BSD). Některá minimální prostředí však ed
vynechávají , ale pravděpodobně je k dispozici v softwarovém úložišti vaší distribuce nebo ve stromu portů. MacOS se dodává s BSD ed
nainstalováno.
Spouštěcí vydání
Když spustíte ed
, zdá se, že jste ztratili výzvu a možná ji ed
se zastavil. Nemá; čeká jen na vaše pokyny:
$ ed
Chcete-li říct ed
chcete-li být trochu podrobnější, můžete mu přikázat, aby vrátil výzvu s p
příkaz:
$ ed
p
?
Otazník (?
) je výchozí ed
výzva.
Vyrovnávací paměť
Zatímco ed
je aktivní, pracujete s tím, co se nazývá vyrovnávací paměť . Vyrovnávací paměť je místo v paměti. Neupravujete soubor přímo; pouze upravujete vyrovnávací paměť. Pokud ukončíte ed
bez zapsání změn do souboru na disk se všechny změny ztratí, protože k nim došlo pouze ve vyrovnávací paměti. (Toto může znít povědomě zkušeným uživatelům Emacsu, kteří jsou zvyklí na počáteční stírací vyrovnávací paměť.)
Psaní textu pomocí ed
Po spuštění ed
, jste v příkazovém režimu. To znamená, že můžete zadávat příkazy samotnému editoru, například když jej nastavíte tak, aby místo prázdného místa zobrazoval výzvu. Pomocí a
můžete k aktuálnímu bufferu připojit text příkaz, který je ukončen samostatnou tečkou (.
) na vlastní lince. Tento příklad například přidá dva řádky („hello world“ a „hello ed“) do vyrovnávací paměti:
?
a
hello world
hello ed
.
Po ukončovací tečce se vrátíte do příkazového režimu.
Zobrazení vyrovnávací paměti
Chcete-li zjistit, co je obsaženo ve vyrovnávací paměti, můžete zadat buď řádek, který chcete zobrazit, nebo ,p
zobrazíte všechny řádky.
?
1
hello world
2
hello ed
,p
hello world
hello ed
Zápis do souboru
Za předpokladu, že jste se svým textem spokojeni, můžete vyrovnávací paměť zapsat do souboru s w
příkaz následovaný názvem cílového souboru.
?
w example.txt
19
Číslo po operaci zápisu udává počet znaků zapsaných do souboru.
Čtení souboru
Nemusíte používat ed
pro zadávání textu. Můžete také jednoduše otevřít existující soubor do vyrovnávací paměti pomocí r
příkaz:
?
r myfile.txt
Případně můžete jednoduše spustit ed
následovaný názvem souboru, který chcete načíst do vyrovnávací paměti:
$ ed myfile.txt
Úprava vyrovnávací paměti
ed
aplikace je textový editor, takže můžete ovlivnit text ve vyrovnávací paměti pomocí speciální editační syntaxe. Uživatelé sed
nebo vim
možná vám některá jeho syntaxe bude povědomá. Předpokládejme, že máte soubor načtený ve vyrovnávací paměti:
$ ed myfile.txt
,p
This is an example document.
There is some text, but not much.
There is some errors, but not much.
Chcete-li změnit slovo „dokument“ na „soubor“ v první větě, vyberte řádek, na který chcete cílit (1), a poté vyvolejte funkci vyhledávání pomocí s
následované hledanými a nahrazujícími výrazy:
?
1
This is an example document.
s/document/file/
1
This is an example file.
Chcete-li cílit na jinou linku, postup je v podstatě stejný, ale s jiným číslem:
?
3
There is some errors, but not much.
s/is/are/
s/much/many/
Úpravy, které jste provedli ve vyrovnávací paměti, můžete zobrazit pomocí ,p
příkaz jako obvykle.
This is an example file.
There is some text, but not much.
There are some errors, but not many.
Tyto změny samozřejmě existují pouze ve vyrovnávací paměti. Byli jste se podívat na soubor mimo ed
, uvidíte pouze původní text:
$ cat myfile.txt
This is an example document.
There is some text, but not much.
There is some errors, but not much.
Chcete-li uložit změny zpět do souboru, použijte w
příkaz:
w myfile.txt
258
Vymazání vyrovnávací paměti
Chcete-li získat novou vyrovnávací paměť, abyste mohli buď začít nový dokument, nebo načíst nový do nového prostředí, použijte c
příkaz. Po vydání c
pro vymazání vyrovnávací paměti příkaz print nevrací nic, protože vyrovnávací paměť byla vyprázdněna:
c
,p
Ukončit
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Chcete-li ukončit ed
relaci, použijte q
příkaz. To vám nedává šanci uložit vyrovnávací paměť, takže před použitím tohoto příkazu nezapomeňte uložit.
Vyzkoušejte ed
Je toho mnohem více ed
umí a učení ed
vám může poskytnout skvělý přehled o tom, jak sed
a části vim
práce. Neobtěžoval jsem se pokusit napsat tento článek v ed
, pravda, a nejsem si jistý, že je to nejlepší nástroj pro zadávání textu obecně. Nicméně ed
je vynikající editor textu a můžete se jej snadno naučit čtením jeho dokumentace. V systému GNU použijte info ed
pro zobrazení návodu.