Provided by: manpages-pl_20060617-3_all bug

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)