Provided by:
manpages-pl_20060617-3_all 
NAZWA
sed - edytor strumieniowy
SK/LADNIA
sed [-n] [-g] [-e skrypt ] [-f splik ] [ plik ] ...
OPIS
Sed kopiuje podane pliki (lub domylnie standardowe wejcie) na
standardowe wyjcie, przy okazji edytujc przeplywajce dane wedlug komend
zadanych w skrypcie.
Opcja -e zalcza pojedyncz komend edycyjn z nastpujcego po niej
argumentu; jeli jest ich [komend] wicej, to s one wykonywane w
kolejnoci pojawienia si. Jeli jest tam tylko opcja -e i nie ma -f, flag
-e mona pomin.
Opcja -f powoduje, e komendy s pobieranego z pliku "splik"; jeli jest
ich kilka, to s one wykonywane w kolejnoci pojawienia si; komendy -e i
-f mona ze sob lczy.
Opcja -g powoduje, e sed zachowuje si tak, jakby kada z komend skryptu
miala przyrostek g.
Opcja -n hamuje domylne wyjcie.
Skrypt sklada si z komend, po jednej na lini, uloonych w nastpujcej
postaci:
[adres [, adres] ] funkcja [argumenty]
Normalnie sed cyklicznie kopiuje linie wejcia do biecego bufora
tekstowego, a nastpnie dokonuje kolejno wszystkich komend edycyjnych,
ktorych adresy wybieraj bufor, a potem przesyla bufor na standardowe
wyjcie i czyci go.
Opcja -n hamuje normalne wyjcie (tak, e ma miejsce tylko wyjcie p i w).
Podobnie niektore komendy (n,M) robi samodzielne odczyty linii, a
niektore inne (d,D) powoduj, e komendy nastpujce za nimi w danym
skrypcie s pomijane (komenda D hamuje te czyszczenie biecego bufora
tekstowego, co ma normalnie miejsce przed nastpnym cyklem).
Pomocnym jest te wiedzie, e istnieje drugi bufor (nazywany `miejscem
przechowywania', ktory moe by kopiowany, lub doklejany, lub skladany z
biecym buforem.
Adres jest: liczb dziesitn (ktora odpowiada linii, gdzie numery linii
to liczby zaczynajce si od 1, do ostatniej linii pliku), lub `$', ktory
adresuje ostatni lini wyjcia, lub kontekstowym adresem, ktory jest
`/wyraeniem regularnym/' w zmodyfikowanym stylu ed (1), wic:
(1) Sekwencja specjalna `0 odpowiada nowej linii osadzonej w buforze,
a `' odpowiada tabulacji.
(2) Linia komend bez adresow wybiera kady bufor.
(3) Linia komend z jednym adresem wybiera kady bufor, ktory odpowiada
temu adresowi.
(4) Linia komend z dwoma adresami odpowiada wlcznemu zasigowi od
pierwszego bufora wejciowego, do drugiego, odpowiadajcego
adresowi. (Jeli drugi adres jest liczb mniejsz lub rown numerowi
podanemu najpierw, to wybierana jest tylko jedna linia.) Gdy
dopasowany jest drugi adres, sed zaczyna ponownie szuka
pierwszego; tak wic dowolna liczba tych zasigow bdzie porownywana.
Operator negacji `!', znany z C, moe i tu mie zastosowanie, wskazujc, e
komenda odnosi si do linii nie wybranych w adresach.
W nastpujcych funkcjach, maksymalna liczba adresow jest wskazana w
nawiasie.
Argument oznaczony jako "tekst" sklada si z jednej, lub wikszej iloci
linii, w ktorych wszystkie, poza ostatni musz koczy si `', aby ukry now
lini.
Odwrotne ukoniki w tekcie s traktowane jak odwrotne ukoniki w lacuchu
zamiany komendy `s' i mog by uywane do chronienia pocztkowych bialych
spacji.
Argument oznaczony jako "rplik" i "wplik" musi by ostatnim w linii
komend. Kady wplik jest tworzony zanim rozpocznie si przetwarzanie.
Dopuszczaln iloci argumentow wplikow jest 10.
a "tekst" (1)
Doklej. Dolcz tekst na wyjcie przed odczytaniem nastpnej linii
wejcia.
b "etykieta" (2)
Przejd si do komendy `:', przechowujcej etykiet. Jeli nie podano
etykiety, przejd na koniec skryptu.
c "tekst" (2)
Zmie. Skasuj biecy tekst z bufora. Z adresem 0 lub 1, lub na kocu
dwuadresowego zasigu, dolcz tekst na wyjciu. Rozpocznij nastpny
cykl.
d (2)
Skasuj biecy bufor tekstowy. Rozpocznij nowy cykl.
D (2)
Skasuj pierwsz lini biecego bufora tekstowego (wszystkie znaki, a
do pierwszej nowej linii). Rozpocznij nowy cykl.
g (2)
Zamie zawarto biecego bufora tekstowego z zawartoci miejsca
przechowywania.
G (2)
Doklej zawarto miejsca przechowywania do biecego bufora
tekstowego.
h (2)
Skopiuj biecy bufor tekstowy do miejsca przechowywania.
H (2)
Doklej kopi biecego bufora tekstowego do miejsca przechowywania.
i "tekst" (1)
Wstaw. Wstaw tekst na standardowe wyjcie.
l (2)
Listuj. Wysyla przestrze wzorcow na standardowe wyjcie. Opcja "w"
moe wystpi jak w komendzie s, opisanej niej. Niedrukowane znaki s
rozszerzane do:
\b -- backspace (ASCII 08)
\t -- tabulacja (ASCII 09)
\n -- nowa linia (ASCII 10)
\r -- return (ASCII 13)
\e -- escape (ASCII 27)
\xx -- znak ASCII odpowiadajcy dwom cyfrom szesnastkowym.
n (2)
Kopiuj biecy bufor tekstowy na standardowe wyjcie. Wczytaj do
bufora now lini.
N (2)
Doklej nastpn lini wejcia do biecego bufora tekstowego, wstawiajc
midzy nie osadzon now lini. Zmienia si biecy numer linii.
p (2)
Drukuj. Kopiuj biecy bufor tekstowy na standardowe wyjcie.
P (2)
Kopiuj pierwsz lini biecego bufora tekstowego (wszystkie znaki a
do pierwszej nowej linii) na standardowe wyjcie.
q (1)
Zakocz. Przejd na koniec skryptu. Nie rozpoczynaj nowego cyklu.
r "rplik" (1)
Czytaj zawarto rpliku. Wstaw j na wyjciu przed przeczytaniem
nastpnej linii wejciowej.
s /wyraenie regularne/zamiennik/flagi (2)
Podmie znalezione wyraenia regularne na zamiennik (w biecym
buforze tekstowym). Zamiast `/' mona uy dowolnego znaku. Dla
dokladniejszego opisu zobacz ed (1). Flagi to zero lub wicej z
nastpujcych:
g -- Globalnie. Podmieniaj wszystkie niezachodzce na siebie
instancje
lacucha, a nie tylko pierwsz z nich.
p -- Drukuj przestrze wzorcow po dokonaniu podmiany.
w -- Zapisuj. Doklej biecy bufor tekstowy do argumentu plikowego,
tak jak
w komendzie w (o ile zostanie dokonana podmiana). Standardowe
wyjcie
jest uywane jeli nie podano argumentu plikowego.
t "etykieta" (2)
Galziowy test `jeeli'. Przejd do komendy `:' o podanej etykiecie,
jeli dokonano jakichkolwiek podmian od ostatniego odczytu linii
wejciowej, lub wywolania `t' lub `T'. Jeli nie podano etykiety,
przejd na koniec skryptu.
T "etykieta" (2)
Przeskocz przy bldzie. Przejd do komendy `:' o podanej etykiecie,
jeli nie dokonano podmian od ostatniego wczytania linii wejciowej,
lub od uycia komendy `t' lub `T'. Jeli nie podano etykiety, przejd
na koniec pliku.
w "wplik" (2)
Zapisz. Doklej biecy bufor tekstowy do wpliku.
W "wplik" (2)
Zapisz pierwsz lini. Doklej pierwsz lini biecego bufora tekstowego
do wpliku.
x (2)
Wymie zawarto biecego bufora tekstowego i miejsca przechowywania.
y /lacuch1/lacuch2/ (2)
Tlumacz. Podmie kade pojawienie si znaku ze lacucha1 odpowiadajcym
mu znakiem z lacucha2. Dlugoci tych znakow musz by identyczne.
! "komenda" (2)
Wszystko-poza. Zastosuj funkcj (lub grup, jeli funkcj jest `{')
tylko do linii nie wybranych przez adres(y).
: "etykieta" (0)
Komenda ta nie robi niczego poza przechowywaniem etykiety dla
komend `b' i `t'.
= (1)
Wstaw biecy numer linii na standardowe wyjcie jako lini.
{ (2)
Wywolaj nastpujce komendy, a do zamykajcego `}' tylko jeli bieca
linia odpowiada adresowi lub podanemu zasigowi adresow.
Pusta komenda jest ignorowana.
PRZENONO
Narzdzie to bylo wyprowadzone z UNIX-a 4.1 BSD i (o ile wiadomo
autorowi) jest z nim kompatybilne. Wszystkie udokumentowane wlaciwoci
seda z BSD s wspierane.
Pominito jedn nieudokumentowan wlaciwo (prowadzcy `n' w pierwszym
komentarzu, majcy takie same dzialanie jak -n opcja linii komend).
Poprawiono nastpujce bldy i ograniczenia:
* Nie ma ukrytego limitu dlugoci (40 w sedzie BSD) na dlugoci nazw
plikow.
* Nie ma limitu dlugoci (8 w sedzie BSD) na dlugo etykiet.
* Komenda `exchange' dziala teraz dla dlugich wzorcow i miejsc
przechowania.
Poczyniono nastpujce rozszerzenia istniejcych komend:
* komendy a, i nie naciskaj na prowadzcy znak odwrotnego ukonika-\n
w tekcie.
* komendy r, w nie naciskaj na bial spacj przed nazw pliku.
* Opcje g, p i P w komendach s mog by podawane w dowolnej kolejnoci.
Poczyniono pewne rozszerzenia do skladni wyrae regularnych:
* \t jest rozpoznawane jako sekwencja specjalna tabulacji.
* Wewntrz RE, + wola o 1..n powtorze poprzedniego wzorca.
Nastpujce wlaciwoci s calkowicie nowe:
* Komenda l (listuj, nieudokumentowana i slabsza w BSD)
* Komenda W (zapisz pierwsz lini przestrzeni wzorcow do pliku).
* Komenda T (przeskocz, jeli nie udalo si podstawienie).
* Dozwolone s w liniach komend koczce komentarze.
Dodatkowo, komunikaty o bldach seda staly si bardziej konkretne i
informatywne.
Implementacja jest rownie sporo mniejsza i szybsza ni sed z 4.1 BSD.
Uywa jedynie standardowej biblioteki I/O i exit(3).
UWAGA
Jest to komponent freeware systemow operacyjnych GNU i MINIX. Uytkownik
ma wic pozwolenie na uywanie, modyfikowanie i reprodukcj oraz
dystrybucj jego pod nastpujcymi warunkami:
1. Notka o autorze, pojawiajca si w kadym pliku rodlowym nie moe zosta
skasowana, ani poprawiana.
2. Forma obiektowa nie moe by rozprowadzana bez rodel.
ZOBACZ TAKE
ed(1), grep(1), awk(1), lex(1), regexp(5)
AUTOR
Ta strona podrcznika man zostala napisana przez Erica S. Raymonda
<esr@snark.thyrsus.com>, a zalczony pakiet jest z GNU.
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
Listopad 19, 1995 sed(1)