Linux.pl
Opcje wyszukiwania podręcznika man:
Lista stron man zaczynających się od znaku:
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   ALPHA   NUM   OTHER   ALL
sed(1)                                                                  sed(1)

NAZWA
       sed - edytor strumieniowy

SKŁADNIA
       sed [-n] [-g] [-e skrypt ] [-f splik ] [ plik ] ...

OPIS
       Sed  kopiuje  podane pliki (lub domyślnie standardowe wejście) na stan-
       dardowe wyjście, przy okazji edytując przepływające dane według  komend
       zadanych w skrypcie.

       Opcja  -e  załącza  pojedynczą komendę edycyjną z następującego po niej
       argumentu; jeśli jest ich [komend] więcej, to są one wykonywane w kole-
       jności pojawienia się. Jeśli jest tam tylko opcja -e i nie ma -f, flagę
       -e można pominąć.

       Opcja -f powoduje, że komendy są pobieranego  z  pliku  "splik";  jeśli
       jest  ich  kilka,  to  są  one  wykonywane w kolejności pojawienia się;
       komendy -e i -f można ze sobą łączyć.

       Opcja -g powoduje, że sed zachowuje  się  tak,  jakby  każda  z  komend
       skryptu miała przyrostek g.

       Opcja -n hamuje domyślne wyjście.

       Skrypt   składa   się  z  komend,  po  jednej  na  linię,  ułożonych  w
       następującej postaci:

            [adres [, adres] ] funkcja [argumenty]

       Normalnie sed cyklicznie kopiuje linie wejścia do bieżącego bufora tek-
       stowego,  a  następnie  dokonuje  kolejno wszystkich komend edycyjnych,
       których adresy wybierają bufor, a potem przesyła bufor  na  standardowe
       wyjście i czyści go.

       Opcja  -n hamuje normalne wyjście (tak, że ma miejsce tylko wyjście p i
       w).  Podobnie niektóre komendy (n,M) robią samodzielne odczyty linii, a
       niektóre  inne  (d,D)  powodują, że komendy następujące za nimi w danym
       skrypcie są pomijane (komenda D hamuje też czyszczenie bieżącego bufora
       tekstowego, co ma normalnie miejsce przed następnym cyklem).

       Pomocnym jest też wiedzieć, że istnieje drugi bufor (nazywany `miejscem
       przechowywania', który może być kopiowany, lub doklejany, lub  składany
       z bieżącym buforem.

       Adres  jest:  liczbą  dziesiętną  (która  odpowiada linii, gdzie numery
       linii to liczby zaczynające się od 1, do ostatniej  linii  pliku),  lub
       `$',  który  adresuje ostatnią linię wyjścia, lub kontekstowym adresem,
       który jest `/wyrażeniem regularnym/' w  zmodyfikowanym  stylu  ed  (1),
       więc:

       (1)  Sekwencja  specjalna `0 odpowiada nowej linii osadzonej w buforze,
            a `' odpowiada tabulacji.

       (2)  Linia komend bez adresów wybiera każdy bufor.

       (3)  Linia komend z jednym adresem wybiera każdy bufor, który odpowiada
            temu adresowi.

       (4)  Linia  komend  z  dwoma  adresami odpowiada włącznemu zasięgowi od
            pierwszego  bufora  wejściowego,  do   drugiego,   odpowiadającego
            adresowi.  (Jeśli  drugi  adres  jest  liczbą  mniejszą  lub równą
            numerowi podanemu najpierw, to wybierana jest tylko jedna  linia.)
            Gdy dopasowany jest drugi adres, sed zaczyna ponownie szukać pier-
            wszego; tak więc dowolna liczba tych zasięgów będzie  porównywana.

       Operator  negacji  `!',  znany  z  C,  może  i  tu  mieć  zastosowanie,
       wskazując, że komenda odnosi się do linii nie wybranych w adresach.

       W następujących funkcjach, maksymalna liczba adresów  jest  wskazana  w
       nawiasie.

       Argument  oznaczony  jako  "tekst"  składa  się  z jednej, lub większej
       ilości linii, w których wszystkie, poza ostatnią muszą kończyć się  `',
       aby ukryć nową linię.

       Odwrotne  ukośniki  w  tekście  są  traktowane  jak odwrotne ukośniki w
       łańcuchu  zamiany  komendy  `s'  i  mogą  być  używane  do   chronienia
       początkowych białych spacji.

       Argument  oznaczony  jako  "rplik"  i "wplik" musi być ostatnim w linii
       komend.  Każdy wplik jest tworzony zanim rozpocznie się  przetwarzanie.
       Dopuszczalną ilością argumentów wplików jest 10.

       a "tekst"   (1)
            Doklej.  Dołącz tekst na wyjście przed odczytaniem następnej linii
            wejścia.

       b "etykieta"  (2)
            Przejdź się do komendy `:',  przechowującej  etykietę.  Jeśli  nie
            podano etykiety, przejdź na koniec skryptu.

       c "tekst"   (2)
            Zmień.  Skasuj  bieżący  tekst z bufora. Z adresem 0 lub 1, lub na
            końcu dwuadresowego zasięgu, dołącz tekst na  wyjściu.  Rozpocznij
            następny cykl.

       d          (2)
            Skasuj bieżący bufor tekstowy. Rozpocznij nowy cykl.

       D          (2)
            Skasuj  pierwszą  linię  bieżącego  bufora  tekstowego  (wszystkie
            znaki, aż do pierwszej nowej linii). Rozpocznij nowy cykl.

       g          (2)
            Zamień zawartość bieżącego bufora tekstowego z zawartością miejsca
            przechowywania.

       G          (2)
            Doklej  zawartość  miejsca przechowywania do bieżącego bufora tek-
            stowego.

       h          (2)
            Skopiuj bieżący bufor tekstowy do miejsca przechowywania.

       H          (2)
            Doklej kopię bieżącego bufora tekstowego do  miejsca  przechowywa-
            nia.

       i "tekst"   (1)
            Wstaw. Wstaw tekst na standardowe wyjście.

       l          (2)
            Listuj.  Wysyła  przestrzeń  wzorców na standardowe wyjście. Opcja
            "w" może wystąpić jak w komendzie s, opisanej niżej.  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 odpowiadający dwóm cyfrom szesnastkowym.

       n          (2)
            Kopiuj  bieżący  bufor tekstowy na standardowe wyjście. Wczytaj do
            bufora nową linię.

       N          (2)
            Doklej następną linię  wejścia  do  bieżącego  bufora  tekstowego,
            wstawiając  między  nie  osadzoną  nową linię. Zmienia się bieżący
            numer linii.

       p          (2)
            Drukuj. Kopiuj bieżący bufor tekstowy na standardowe wyjście.

       P          (2)
            Kopiuj pierwszą linię bieżącego bufora tekstowego (wszystkie znaki
            aż do pierwszej nowej linii) na standardowe wyjście.

       q          (1)
            Zakończ.  Przejdź na koniec skryptu. Nie rozpoczynaj nowego cyklu.

       r "rplik"  (1)
            Czytaj zawartość rpliku. Wstaw ją na wyjściu  przed  przeczytaniem
            następnej linii wejściowej.

       s /wyrażenie regularne/zamiennik/flagi         (2)
            Podmień  znalezione  wyrażenia  regularne na zamiennik (w bieżącym
            buforze tekstowym). Zamiast `/' można użyć  dowolnego  znaku.  Dla
            dokładniejszego  opisu  zobacz ed (1).  Flagi to zero lub więcej z
            następujących:

            g --  Globalnie.  Podmieniaj  wszystkie  niezachodzące  na  siebie
            instancje
                 łańcucha, a nie tylko pierwszą z nich.

            p -- Drukuj przestrzeń wzorców po dokonaniu podmiany.

            w   --   Zapisuj.  Doklej  bieżący  bufor  tekstowy  do  argumentu
            plikowego, tak jak
                 w komendzie w (o ile zostanie dokonana podmiana). Standardowe
            wyjście
                 jest używane jeśli nie podano argumentu plikowego.

       t "etykieta"  (2)
            Gałęziowy   test  `jeżeli'.  Przejdź  do  komendy  `:'  o  podanej
            etykiecie, jeśli  dokonano  jakichkolwiek  podmian  od  ostatniego
            odczytu  linii  wejściowej,  lub  wywołania `t' lub `T'. Jeśli nie
            podano etykiety, przejdź na koniec skryptu.

       T "etykieta"  (2)
            Przeskocz  przy  błędzie.  Przejdź  do  komendy  `:'   o   podanej
            etykiecie,  jeśli  nie  dokonano  podmian  od ostatniego wczytania
            linii wejściowej, lub od użycia komendy `t'  lub  `T'.  Jeśli  nie
            podano etykiety, przejdź na koniec pliku.

       w "wplik"  (2)
            Zapisz. Doklej bieżący bufor tekstowy do wpliku.

       W "wplik"  (2)
            Zapisz pierwszą linię. Doklej pierwszą linię bieżącego bufora tek-
            stowego do wpliku.

       x          (2)
            Wymień zawartość  bieżącego  bufora  tekstowego  i  miejsca  prze-
            chowywania.

       y /łańcuch1/łańcuch2/      (2)
            Tłumacz.   Podmień   każde   pojawienie  się  znaku  ze  łańcucha1
            odpowiadającym mu znakiem z łańcucha2. Długości tych znaków  muszą
            być identyczne.

       ! "komenda"              (2)
            Wszystko-poza.  Zastosuj  funkcję  (lub  grupę, jeśli 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 bieżący numer linii na standardowe wyjście jako linię.

       {          (2)
            Wywołaj  następujące  komendy,  aż do zamykającego `}' tylko jeśli
            bieżąca linia odpowiada adresowi lub podanemu zasięgowi adresów.

       Pusta komenda jest ignorowana.

PRZENOŚNOŚĆ
       Narzędzie to było wyprowadzone z  UNIX-a  4.1  BSD  i  (o  ile  wiadomo
       autorowi) jest z nim kompatybilne. Wszystkie udokumentowane właściwości
       seda z BSD są wspierane.

       Pominięto jedną nieudokumentowaną właściwość (prowadzący  `n'  w  pier-
       wszym  komentarzu,  mający  takie  same  działanie  jak  -n opcja linii
       komend).

       Poprawiono następujące błędy i ograniczenia:

       *    Nie ma ukrytego limitu długości (40 w sedzie BSD) na długości nazw
            plików.

       *    Nie ma limitu długości (8 w sedzie BSD) na długość etykiet.

       *    Komenda `exchange' działa teraz dla długich wzorców i miejsc prze-
            chowania.

       Poczyniono następujące rozszerzenia istniejących komend:

       *    komendy  a,  i  nie  naciskają  na  prowadzący   znak   odwrotnego
            ukośnika-\n w tekście.

       *    komendy r, w nie naciskają na białą spację przed nazwą pliku.

       *    Opcje  g,  p  i P w komendach s mogą być podawane w dowolnej kole-
            jności.

       Poczyniono pewne rozszerzenia do składni wyrażeń regularnych:

       *    \t jest rozpoznawane jako sekwencja specjalna tabulacji.

       *    Wewnątrz RE, + woła o 1..n powtórzeń poprzedniego wzorca.

       Następujące właściwości są całkowicie nowe:

       *    Komenda l (listuj, nieudokumentowana i słabsza w BSD)

       *    Komenda W (zapisz pierwszą linię przestrzeni wzorców do pliku).

       *    Komenda T (przeskocz, jeśli nie udało się podstawienie).

       *    Dozwolone są w liniach komend kończące komentarze.

       Dodatkowo, komunikaty o błędach seda stały  się  bardziej  konkretne  i
       informatywne.

       Implementacja  jest również sporo mniejsza i szybsza niż sed z 4.1 BSD.
       Używa jedynie standardowej biblioteki I/O i exit(3).

UWAGA
       Jest  to  komponent  freeware  systemów  operacyjnych  GNU   i   MINIX.
       Użytkownik  ma więc pozwolenie na używanie, modyfikowanie i reprodukcję
       oraz dystrybucję jego pod następującymi warunkami:

       1. Notka o autorze, pojawiająca się w każdym pliku źródłowym  nie  może
       zostać skasowana, ani poprawiana.

       2. Forma obiektowa nie może być rozprowadzana bez źródeł.

ZOBACZ TAKŻE
       ed(1), grep(1), awk(1), lex(1), regexp(5)

AUTOR
       Ta  strona  podręcznika  man  została  napisana przez Erica S. Raymonda
       <esr@snark.thyrsus.com>, a załączony pakiet jest z GNU.

                               Listopad 19, 1995                        sed(1)

Time taken: 0.00011 seconds


Created with the man page lookup class by Andrew Collington, php@amnuts.com