Rechercher une page de manuel
ed
Langue: pl
Version: 10 Listopad 1994 (openSuse - 09/10/07)
Section: 1 (Commandes utilisateur)
Sommaire
NAZWA
ed, red - edytor tekstuSK£ADNIA
ed [-] [-Gs] [-p ³añcuch] [plik]red [-] [-Gs] [-p ³añcuch] [plik]
OPIS
ed jest zorientowanym liniowo edytorem tekstu. Jest o u¿ywany do tworzenia, wy¶wietlania, modyfikowania i innych dzia³añ na plikach tekstowych. red to ed zastrze¿ony (restricted): mo¿e edytowaæ tylko pliki z bie¿±cego katalogu i nie mo¿e wykonywaæ komend pow³oki.Po wywo³aniu z argumentem pliku, jego kopia jest odczytywana do bufora edytora. Wszelkie zmiany robione s± na tej kopii, nie na pliku jako takim. Podczas koñczenia pracy z ed, wszelkie zmiany, których nie zachowano komend± `w' s± tracone.
Edycja jest dokonywana w dwóch ró¿nych trybach: komend i wprowadzania. Po uruchomieniu, ed jest w trybie komend. W trybie tym ze standardowego wej¶cia czytane s± komendy, a nastêpnie s± one wykonywane na zawarto¶ci bufora edytora. Przyk³adowa komenda mo¿e wygl±daæ tak:
- ,s/old/new/g
co zamienia wszystkie pojawienia siê napisu old na new.
Po podaniu komendy wprowadzania, takiej jak `a' (append--dopisz), `i' (insert--wstaw) lub `c' (change-zmieñ), ed wchodzi w tryb wprowadzania. Jest to podstawowe narzêdzie wprowadzania tekstu do pliku. W trybie tym nie ma dostêpnych ¿adnych komend. Zamiast tego, standardowe wej¶cie jest bezpo¶rednio zapisywane do bufora edytora. Linie sk³adaj± siê z tekstu, a¿ do (³±cznie) znaku nowej linii. Tryb wprowadzania jest przerywany wprowadzeniem pojedynczej kropki w linii.
Wszystkie komendy ed operuj± na ca³ych liniach, lub zakresach linii; np. komenda `d' kasuje (delete) linie; komenda `m' przenosi linie, itp. Mo¿na te¿ modyfikowaæ tylko czê¶æ linii, korzystaj±c z narzêdzi podmiany, podanych np. w powy¿szym przyk³adzie. Jednak nawet tu, komenda `s' tyczy siê do ca³ych linii naraz.
W ogólno¶ci, komendy ed sk³adaj± siê z zera lub wiêcej adresów linii, za którymi nastêpuje pojedynczy znak komendy i czêsto dodatkowe parametry; komendy maj± wiêc strukturê:
- [adres [,adres]]komenda[parametry]
Adresy wskazuj± liniê, lub zakres linii, których dotyczy komenda. Je¶li podano mniej adresów ni¿ potrzeba komendzie, u¿ywane s± adresy domy¶lne.
OPCJE
- -G
- Wymusza kompatybilno¶æ wsteczn±. Dotyczy komend `G', `V', `f', `l', `m', `t', and `!!'.
- -s
- Powstrzymuje diagnostykê. Powinno byæ u¿ywane je¶li standardowe wej¶cie ed'a jest ze skryptu.
- -p ³añcuch
- Podaje znak zachêty komend. Mo¿e to byæ w³±czane, lub wy³±czane komend± `P'.
- plik
- Okre¶la nazwê odczytywanego pliku. Je¶li plik jest poprzedzony wykrzyknikiem (!), to jest interpretowany jak komenda pow³oki. W tym wypadku to, co jest czytane, jest standardowym wyj¶ciem pliku wywo³anego przez sh(1). Aby odczytaæ plik, którego nazwa rozpoczyna siê od wykrzyknika, poprzed¼ go odwrotnym uko¶nikiem (\). Domy¶lna nazwa pliku jest ustawiana na file tylko je¶li nie jest poprzedzona wykrzyknikiem.
ADRESOWANIE LINIOWE
Adres reprezentuje numer linii w buforze. ed obs³uguje adres bie¿±cy, który jest zazwyczaj przekazywany komendom jako domy¶lny (w wypadku niepodania tego argumentu). Podczas pierwszego odczytu pliku, adres bie¿±cy jest ustawiany na ostatni± liniê. Ogólnie, adres bie¿±cy jest ustawiany na ostatni± liniê, dotkniêt± przez komendê.Adres linii jest konstruowany z jednej z baz z poni¿szej listy, za któr± opcjonalnie mo¿e nastêpowaæ offset numeryczny. Offsety mog± zawieraæ dowolne kombinacje cyfr, operatorów (np. +, - i ^) i bia³ych spacji. Adresy s± czytane od lewej do prawej, a ich warto¶ci s± obliczane wzglêdem adresu bie¿±cego.
Wyj±tkiem regu³y, ¿e adresy reprezentuj± numery jest adres address 0 (zero). Oznacza to "przed pierwsz± lini±," i jest legalne tam gdzie ma sens.
Zakres adresów to dwa adresy, oddzielone przecinkiem lub ¶rednikiem. Warto¶æ pierwszego adresu w zakresie nie mo¿e byæ wiêksza od drugiego. Je¶li w zakresie podany jest tylko jeden adres, to drugi adres jest ustawiany na podany. Je¶li podano n-krotn± parê adresów, gdzie n > 2, to zakres jest okre¶lany przez ostatnie dwa adresy zestawu. Je¶li oczekiwany jest tylko jeden adres, to u¿ywany jest ostatni.
Ka¿dy adres w zakresie przecinkowym jest interpretowany wzglêdem adresu bie¿±cego. W zakresie ¶rednikowym, pierwszy adres jest u¿ywany do ustawienia adresu bie¿±cego, a drugi wzglêdem pierwszego.
Rozpoznawane s± nastêpuj±ce symbole adresowe.
- .
- Adres bie¿±cej linii w buforze.
- $
- Adres ostatniej linii w buforze.
- n
- nta linia w buforze, gdzie n jest liczb± w zakresie [0,$].
- -
- ^
- Poprzednia linia. Jest to równowa¿ne -1 i mo¿e byæ powtarzane z rosn±cym efektem.
- -n
- ^n
- nta
- linia poprzednia, gdzie n jest liczb± nieujemn±.
- +
- Nastêpna linia. Jest to równowa¿ne +1 i mo¿e byæ powtarzane z rosn±cym efektem.
- +n
- bia³a spacja n
- nta nastêpna linia, gdzie n jest liczb± nieujemn±. Bia³a spacja, za któr± nastêpuje liczba n jest interpretowana jako +n.
- ,
- %
- Zakres od pierwszej do ostatniej linii. Jest to równowa¿ne 1,$.
- ;
- Zakres od bie¿±cej do ostatniej linii. Jest to równowa¿ne .,$.
- /re/
- Nastêpna linia, zawieraj±ca wyra¿enie regularne re. Poszukiwanie gdy jest to konieczne, zakrêca na pocz±tek bufora i leci dalej a¿ do linii bie¿±cej. // powtarza ostatnie szukanie.
- ?re?
- Poprzednia linia zawieraj±ca wyra¿enie regularne re. Poszukiwanie gdy jest to konieczne, zakrêca na koniec bufora i leci a¿ do linii bie¿±cej. ?? powtarza ostatnie szukanie.
- 'lc
- Linia poprzednio zaznaczona przez komendê `k' (marK), gdzie lc jest ma³± liter±.
WYRA¯ENIA REGULARNE
Wyra¿enia regularne s± wzorcami, u¿ywanymi w wybieraniu tekstu. Na przyk³ad, komenda ed- g/napis/
drukuje wszystkie linie, zawieraj±ce napis. Wyra¿enia regularne s± u¿ywane te¿ przez komendê `s', gdzie wybieraj± stary tekst, zastêpowany nowym.
W dodatku do podawania napisów, wyra¿enia regularne mog± reprezentowaæ klasy ³añcuchów znakowych. £añcuchy tak reprezentowane bêd± odpowiadaæ wyra¿eniom regularnym. Je¶li jest mo¿liwe, by wyra¿enie regularne dopasowa³o kilka napisów w linii, to wybierane jest dopasowanie najbardziej z lewej.
Do konstruowania wyra¿eñ regularnych u¿ywane s± nastêpuj±ce symbole:
- c
- Dowolny znak c nie wymieniony ni¿ej, ³±cznie z `{', '}', `(', `)', `<' i `>' oznacza samego siebie.
- \c
- Znak c
zacytowany lewym uko¶nikiem, inny ni¿ `{', '}', `(', `)', `<', `>', `b', 'B', `w', `W', `+' i `?' oznacza w³a¶nie ten znak. - .
- Oznacza pojedynczy znak. (dowolny)
- [klasa-znaków]
- Oznacza pojedynczy znak z klasy znaków. Aby do klasy znaków w³±czyæ `]', musi to byæ pierwszy znak. Zakres znaków mo¿na przekazaæ, rozdzielaj±c jego koñce znakiem `-', np. `a-z', który oznacza wszystkie ma³e litery. Do podawania zestawów znaków w klasie znaków mo¿na u¿ywaæ nastêpuj±cych litera³ów:
[:alnum:] [:cntrl:] [:lower:] [:space:] [:alpha:] [:digit:] [:print:] [:upper:] [:blank:] [:graph:] [:punct:] [:xdigit:]
Gdy znak `-' pojawia siê jako pierwszy, lub ostatni znak klasy-znaków, to dopasowuje sam siebie. Wszystkie inne znaki klasy-znaków odpowiadaj± same sobie.
Wzorce w klasie-znaków postaci
[.col-elm.] lub [=col-elm=]
gdzie col-elm jest elementem porównawczym s± interpretowane wed³ug locale(5) (nie jest to obecnie obs³ugiwane). Zobacz regex(3) dla obja¶nieñ tych konstrukcji.
- [^klasa-znaków]
- Odpowiada dowolnemu pojedynczemu znakowi, innemu ni¿ nowa linia, który nie jest w klasie-znaków. klasa-znaków jest definiowana podobnie jak wy¿ej.
- ^
- Je¶li `^' jest pierwszym znakiem wyra¿enia regularnego, to zaczepia wyra¿enie regularne na pocz±tku linii. W przeciwnym wypadku oznacza `^'.
- $
- Je¶li `$' jest ostatnim znakiem wyra¿enia regularnego, to doczepia wyra¿enie regularne do koñca linii. W przeciwnym wypadku oznacza `$'.
- \(re\)
- Definiuje podwyra¿enie re. Podwyra¿enia mog± byæ zagnie¿d¿ane. Kolejne wsteczne odniesienia postaci `\n', gdzie n jest cyfr± z zakresu [1,9], rozwijaj± siê do tekstu dopasowanego przez nte podwyra¿enie. Na przyk³ad, wyra¿enie regularne `\(a.c\)\1' odpowiada napisowi `abcabc', lecz nie `abcadc'. Podwyra¿enia s± porz±dkowane wzglêdem ich lewego ogranicznika.
- *
- Odpowiada dopsaowaniu poprzedzaj±cego znaku lub podwyra¿enia zero lub wiêcej razy. je¶li '*' jest pierwszym znakiem wyra¿enia regularnego, lub podwyra¿enia, to oznacza '*'. Operator `*' daje czasem nieoczekiwane rezultaty. Na przyk³ad wyra¿enie `b*' dopasowuje pocz±tek napisu `abbb', wed³ug podnapisu `bbb'.
- \{n,m\}
- \{n,\}
- \{n\}
- Odpowiada poprzedzaj±cemu jednoznakowemu wyra¿eniu regularnemu, lub podwyra¿eniu, dopasowanemu przynajmniej n i najwiêcej m razy. Je¶li m jest pominiête, to jest tylko dolne ograniczenie. Je¶li pominiêty jest te¿ przecinek, dopasowanie wymaga dok³adnie n powtórzeñ. Je¶li która¶ z tych postaci pojawi siê na pocz±tku, to jest interpretowana literalnie. Np. `\{2\}' odpowiada `{2}', itd.
- \<
- \>
- Zaczepia wyra¿enie znakowe, lub podwyra¿enie do pocz±tku (\<) lub koñca (\>) s³owa, czyli w ASCII maksymalnego ³añcucha znaków alfanumerycznych, ³±cznie z podkre¶leniem (_).
Nastêpuj±ce rozszerzone operatory s± poprzedzane lewym uko¶nikiem, aby odró¿niæ je od tradycyjnej sk³adni ed.
- \`
- \'
- Bezwarunkowo dopasowuje pocz±tek (\`) lub koniec (\') linii.
- \?
- Opcjonalnie odpowiada pojedynczemu znakowi, lub podwyra¿eniu, które go poprzedza. Np. wyra¿enie `a[bd]\?c' odpowiada `abc', `adc' i `ac'. Je¶li \? pojawia siê na pocz±tku linii, to jest traktowane literalnie jako `?'.
- \+
- Odpowiada pojedynczemu znakowi, lub podwyra¿eniu, poprzedzaj±cemu go, a powtarzaj±cemu siê jeden, lub wiêcej razy. Tak wiêc wyra¿enie regularne `a+' jest skrótem `aa*'. Je¶li \+ pojawi siê na pocz±tku linii, to odpowiada literalnemu `+'.
- \b
- Odpowiada pocz±tkowi lub koñcowi (³añcuch zerowy) s³owa. Tak wiêc wyra¿enie regularne `\bhello\b' jest równowa¿ne `\<hello\>'. Jednak, `\b\b' jest prawid³owym wyra¿eniem, podczas gdy `\<\>' nim nie jest.
- \B
- Odpowiada (³añcuchowi zerowemu) w s³owie.
- \w
- Odpowiada dowolnemu znakowi w s³owie.
- \W
- Odpowiada dowolnemu znakowi nie bêd±cemu w s³owie.
KOMENDY
Wszystkie komendy ed to pojedyncze znaki, choæ niektóre wymagaj± dodatkowych parametrów. Je¶li parametry komendy rozci±gaj± siê na kilka linii, to ka¿da linia poza ostatni±, powinna byæ zakoñczona lewym uko¶nikiem (\).Ogólnie, na liniê dozwolona jest najwiêcej jedna komenda. Jednak wiêkszo¶æ komend przyjmuje przyrostek drukowania, który mo¿e byæ dowolnym z `p' (drukuj-print), `l' (listuj-list) , lub `n' (wyliczaj-eNumerate), który drukuje ostatni± liniê, dotkniêt± przez komendê.
Przerwanie (zwykle ^C) ma znaczenie przerywania bie¿±cej komendy i powracania do trybu komend.
ed rozpoznaje nastêpuj±ce komendy. Komendy pokazane s± wraz z domy¶lnymi adresami, lub zakresami, dostarczanymi gdy nie zosta³y podane (w nawiasach).
- (.)a
- Dokleja do adresowanej linii bufora liniê, która mo¿e byæ adresem zerowym. Tekst jest wstawiany w trybie wprowadzania. Adres bie¿±cy jest ustawiany na ostatni± wprowadzon± liniê.
- (.,.)c
- Zmienia linie w buforze. Adresowane linie s± kasowane, a w ich miejsce jest wklejany tekst. Tekst wprowadzany jest w trybie wprowadzania. Bie¿±cy adres jest ustawiany na ostatni± wstawion± liniê.
- (.,.)d
- Kasuje adresowane linie z bufora. Je¶li za skasowanym zakresem jest linia, to bie¿±cy adres jest na ni± ustawiany. W przeciwnym wypadku, jest ustawiany na liniê przed skasowanym zakresem.
- e plik
- Edytuje plik, i ustawia domy¶ln± nazwê pliku. Je¶li plik nie jest podany, u¿ywana jest domy¶lna nazwa pliku. Wszelkie linie bufora s± kasowane przed odczytem nowego pliku. Bie¿±cy adres jest ustawiany na ostatni± odczytan± liniê.
- e !komenda
- Edytuje standardowe wyj¶cie `!komendy', (zobacz !komenda ni¿ej). Domy¶lna nazwa pliku nie jest zmieniana. Wszelkie linie bufora s± kasowane przed odczytaniem wyj¶cia komendy. Bie¿±cy adres jest ustawiany na ostatni± odczytan± liniê.
- E plik
- Edytuje bezwarunkowo plik. Jest to podobne do komendy e lecz niezapisane zmiany s± niszczone bez ostrze¿enia. Bie¿±cy adres jest ustawiany na ostatni± odczytan± liniê.
- f plik
- Ustawia domy¶ln± nazwê pliku na plik. Je¶li plik nie jest podany, drukowana jest niecytowana domy¶lna nazwa pliku.
- (1,$)g/re/lista-komend
- Aplikuje list-komend do ka¿dej linii, odpowiadaj±cej wyra¿eniu regularnemu re. Bie¿±cy adres jest ustawiany na obecnie dopasowan± liniê przed wykonaniem listy-komend. Na koñcu komendy `g' adres bie¿±cy jest ustawiany na ostatni± liniê, dotkniêt± przez listê-komend.
Ka¿da komenda w li¶cie komend musi byæ w oddzielnej li¶cie, a ka¿da linia poza ostatni± musi byæ zakoñczona lewym uko¶nikiem (\). Dozwolone s± wszystkie komendy poza `g', `G', `v', i `V'. Nowa linia w li¶cie-komend jest równowa¿na komendzie `p'.
- (1,$)G/re/
- Interaktywnie edytuje linie odpowiadaj±ce wyra¿eniu regularnemu re. Dla ka¿dej linii, linia jest drukowana i ustawiany jest adres bie¿±cy, a u¿ytkownik jest pytany o wstawienie listy-komend. Na koñcu dzia³ania komendy `G', adres bie¿±cy jest ustawiany na ostatni± liniê, dotkniêt± przez listê-komend.
Format listy-komend jest taki sam jak w `g'. Samotna nowa linia dzia³a jak zerowa lista komend. Pojedynczy `&' powtarza ostatni± niezerow± listê komend.
- H
- W³±cza drukowanie wyja¶nieñ b³êdów. Domy¶lnie nie s± one drukowane. Zalecanym jest, by skrypty rozpoczyna³y siê t± komend±. Umo¿liwia to debuggowanie.
- h
- Drukuje obja¶nienie ostatniego b³êdu.
- (.)i
- Wstawia tekst do bufora przed liniê bie¿±c±. Tekst jest wstawiany w trybie wstawiania. Bie¿±cy adres jest ustawiany na ostatni± wstawion± liniê.
- (.,.+1)j
- £±czy adresowane linie. Adresowane linie s± kasowane z bufora i zamieniane przez pojedyncz± liniê, zawieraj±c± po³±czony tekst. Adres bie¿±cy jest ustawiany na wynikow± liniê.
- (.)klc
- Zaznacza liniê ma³± liter± lc. Linia mo¿e byæ wtedy adresowana jako 'lc. Znaczenie nie jest czyszczone a¿ do skasowania lub zmodyfikowania linii.
- (.,.)l
- Drukuje niedwuznacznie adresowane linie. Je¶li jest wywo³any z terminala, ed pauzuje na koñcu ka¿dej strony, a¿ do wprowadzenia nowej linii. Bie¿±cy adres jest ustawiany na ostatni± drukowan± liniê.
- (.,.)m(.)
- Przenosi linie w buforze. Adresowane linie s± przenoszone za prawostronny adres docelowy, który mo¿e byæ adresem 0 (zero). Bie¿±cy adres jest ustawiany na ostatni± przeniesion± liniê.
- (.,.)n
- Drukuje adresowane linie wraz z ich numerami linii. Bie¿±cy adres jest ustawiany na ostatni± drukowan± liniê.
- (.,.)p
- Drukuje adresowane linie. Je¶li jest wywo³any z terminala, ed pauzuje na koñcu ka¿dej strony a¿ do wprowadzenia nowej linii. Bie¿±cy adres jest ustawiany na ostatni± drukowan± liniê.
- P
- W³±cza i wy³±cza znak zachêty komend. O ile nie by³ on okre¶lony opcj± linii komend, -p napis, to jest domy¶lnie wy³±czony.
- q
- Koñczy pracê z ed.
- Q
- Koñczy pracê bezwarunkowo. Jest to podobne do komendy q lecz niezapisane zmiany s± niszczone bez ostrze¿enia.
- ($)r plik
- Odczytuje file za adresowan± liniê. Je¶li plik nie jest podany, u¿ywana jest domy¶lna nazwa pliku. Je¶li nie by³o wcze¶niej domy¶lnej nazwy pliku, domy¶lna nazwa pliku jest ustawiana na plik. W przeciwnym wypadku, domy¶lna nazwa pliku jest niezmieniana. Bie¿±cy adres jest ustawiany na ostatni± odczytan± liniê.
- ($)r !komenda
- Wczytuje za adresowan± lini± wyj¶cie `!komendy', (zobacz !komenda ni¿ej). Domy¶lna nazwa pliku jest niezmieniona. Bie¿±cy adres jest ustawiany na ostatni± wczytan± liniê.
- (.,.)s/re/zamiana/
- (.,.)s/re/zamiana/g
- (.,.)s/re/zamiana/n
- Zamienia tekst w adresowanych liniach, odpowiadaj±cy wyra¿eniu regularnemu re na zamianê. Domy¶lnie zamieniane jest tylko pierwsze dopasowanie linii. Po podaniu przyrostka `g' (global) zamieniane jest ka¿de dopasowanie. Przyrostek `n', gdzie n jest liczb± dodatni±, powoduje ¿e zmieniane jest tylko n-te dopasowanie. B³êdem jest, je¶li nie dokonano ¿adnych podstawieñ na ¿adnej z adresowanych linii. Bie¿±cy adres jest ustawiany na ostatni± dotkniêt± liniê.
re i zamiana mog± byæ rozdzielane dowolnym znakiem innym ni¿ spacja i nowa linia (zobacz komendê `s', ni¿ej). Je¶li jeden, lub dwa z ostatnich ograniczników s± pominiête, to ostatnia dotkniêta linia jest drukowana tak, jakby podano przyrostek `p'.
Niecytowany `&' w zamianie jest zamieniany na aktualnie dopasowany tekst. Sekwencja `\m', gdzie m jest liczb± w zakresie [1,9] jest zamieniana m-t± referencj± wsteczn± wyra¿enia dopasowanego tekstu. Je¶li zamiana sk³ada siê z pojedynczego `%', to u¿ywana jest zamiana z ostatniego podstawienia. W zamianie mo¿na osadzaæ nowe linie po ich zacytowaniu lewym uko¶nikiem (\).
- (.,.)s
- Powtarza ostatnie podstawienie. Ta postaæ komendy `s' przyjmuje przyrostek licznika `n', lub dowoln± kombinacjê znaków `r', `g', i `p'. Je¶li podano przyrostek licznika `n', to zmieniane jest tylko n-te dopasowanie. Przyrostek `r' powoduje, ¿e zamiast ostatnie podstawienia, u¿ywane jest wyra¿enie regularne ostatniego szukania. Przyrostek `g' w³±cza przyrostek global ostatniego podstawienia. Przyrostek `p' w³±cza przyrostek drukowania ostatniego podstawienia. Bie¿±cy adres jest ustawiany na ostatni± dotkniêt± liniê.
- (.,.)t(.)
- Kopiuje adresowane linie za adres, wskazany z prawej strony, który mo¿e byæ adresem 0 (zero). Bie¿±cy adres jest ustawiany na ostatni± kopiowan± liniê.
- u
- Cofa ostatni± komendê i odtwarza bie¿±cy adres na taki, jaki by³ przed ni±. Komendy globalne `g', `G', `v', i `V'. s± traktowane jako pojedyncze. `u' jest samo dla siebie inwersj±.
- (1,$)v/re/lista-komend
- Aplikuje listê-komend na ka¿dej z adresowanych linii, nie pasuj±cych do wyra¿enia regularnego re. Jest to podobne do komendy `g'.
- (1,$)V/re/
- Edytuje interaktywnie adresowane linie, nie odpowiadaj±ce wyra¿eniu regularnemu re. Jest to podobne do komendy `G'.
- (1,$)w plik
- Zapisuje adresowane linie do pliku. Wszelkie poprzednie zawarto¶ci pliku s± tracone bez ostrze¿enia. Je¶li nie ma domy¶lnej nazwy pliku, to jest ona ustawiana na plik, a w przeciwnym wypadku nie jest zmieniana. Je¶li nie podano nazwy pliku, u¿ywana jest nazwa domy¶lna. Bie¿±cy adres nie jest zmieniany.
- (1,$)wq plik
- zapisuje adresowane linie do pliku, a nastêpnie wykonuje komendê `q'.
- (1,$)w !komenda
- Zapisuje adresowane linie na standardowe wej¶cie `!komendy', (zobacz !komenda ni¿ej). Domy¶lna nazwa pliku i bie¿±cy adres nie s± zmieniane.
- (1,$)W plik
- Dokleja adresowane linie do koñca pliku. Jest to podobne do komendy `w', lecz poprzednia zawarto¶æ pliku nie jest niszczona. Bie¿±cy adres nie jest zmieniany.
- (.)x
- Kopiuje (wstawia) zawarto¶æ bufora wycinania za adresowan± liniê. Bie¿±cy adres jest ustawiany na ostatni± skopiowan± liniê.
- (.,.)y
- Kopiuje (wyszarpuje) adresowane linie do bufora wycinania. Bufor wycinania jest nadpisywany przez dalsze wywo³ania `y', `s', `j', `d', lub `c'. Bie¿±cy adres nie jest zmieniany.
- (.+1)zn
- Przewija n linii naraz, rozpoczynaj±c od adresowanej linii. Je¶li n nie jest podane, u¿ywany jest bie¿±cy rozmiar okna. Bie¿±cy adres jest ustawiany na ostatni± drukowan± liniê.
- !komenda
- Wykonuje komendê poprzez sh(1). Je¶li pierwszy znak komendy to `!', to jest on zamieniany tekstem poprzedniej `!komendy'. ed nie przetwarza komendy w poszukiwaniu cytatów lewouko¶nikowych. Jedna niecytowany `%' jest zamieniany domy¶ln± nazw± pliku. Gdy pow³oka koñczy wykonywanie, na standardowym wyj¶ciu drukowany jest `!'. Bie¿±ca linia nie jest zmieniana.
- (.,.)#
- Rozpoczyna komentarz; reszta linii, a¿ do nowej linii jest ignorowana. Je¶li po adresie linii nastêpuje ¶rednik, to bie¿±cy adres jest ustawiany na ten adres. W przeciwnym wypadku adres nie jest zmieniany.
- ($)=
- Drukuje numer linii adresowanej linii.
- (.+1)newline
- Drukuje adresowan± liniê i ustawia bie¿±cy adres na tê liniê.
PLIKI
- /tmp/ed.*
- Plik buforowy
- ed.hup
- Plik, do którego ed zapisuje gdy terminal jest zawieszany.
ZOBACZ TAK¯E
vi(1), sed(1), regex(3), sh(1).
USD:12-13
B. W. Kernighan and P. J. Plauger, Software Tools in Pascal , Addison-Wesley, 1981.
OGRANICZENIA
ed przetwarza argumenty plikowe z cytatami lewouko¶nikowymi, np. wszystkie znaki poprzedzone lewym uko¶nikiem w nazwie pliku s± interpretowane literalnie.Je¶li plik tekstowy nie jest zakoñczony znakiem nowej linii, ed podczas odczytu/zapisu dopisuje go. W przypadku pliku binarnego, ed tego nie robi.
DIAGNOSTYKA
Po b³êdzie, je¶li wej¶cie ed'a nastêpuje z pliku regularnego, lub "dokumentu tutaj" (dokumentu w³±czonego) to koñczy; w przeciwnym wypadku drukuje `?' i powraca do trybu komend. Wyja¶nienie ostatniego b³êdu jest drukowane po komendzie `h' (help).Próba zakoñczenia ed lub edycji innego pliku przed zapisaniem zmodyfikowanego bufora powoduje b³±d. Je¶li komenda jest wstawiona drugi raz, powiedzie siê, lecz zmiany bufora bêd± utracone.
ed koñczy dzia³anie z zerem, je¶li nie by³o b³êdów. W przeciwnym wypadku z warto¶ci± >0.
Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre