SED(1) Polecenia uzytkownika SED(1) NAZWA sed - edytor strumieniowy do filtrowania i przeksztalcania tekstu SKLADNIA sed [-V] [--version] [--help] [-n] [--quiet] [--silent] [-l N] [--line-length=N] [-u] [--unbuffered] [-E] [-r] [--regexp-extended] [-e script] [--expression=script] [-f script-file] [--file=script-file] [script-if-no-other-script] [file...] OPIS Sed jest edytorem strumieniowym. Edytor strumieniowy jest uzywany do wykonywania prostych przeksztalcen tekstu na strumieniu wejsciowym (pliku lub strumienia z potoku). Sed jest w jakims stopniu podobny do edytorow przestrzegajacych edycji skryptowych (np. ed), jednak dziala czyniac tylko jeden przebieg na strumieniu wejsciowym i dlatego jest znacznie wydajniejszy. Mozliwosc filtrowania tekstu w potoku przez seda jest cecha, ktora w najwiekszym stopniu wyroznia go sposrod innych edytorow innego typu. -n, --quiet, --silent hamuje automatyczne wypisywanie bufora tekstowego --debug annotate program execution -e script, --expression=script dodaje skrypt do polecen do wykonania -f script-file, --file=script-file dodaje zawartosc pliku-skryptu do polecen do wykonania --follow-symlinks podaza za dowiazaniami symbolicznymi podczas przetwarzania w miejscu -i[SUFFIX], --in-place[=SUFFIX] edytuje pliki w miejscu (tworzy kopie zapasowa, jesli podano przyrostek) -l N, --line-length=N okresla pozadana dlugosc zawijania wierszy do polecenia l --posix wylacza wszystkie rozszerzenia GNU -E, -r, --regexp-extended use extended regular expressions in the script (for portability use POSIX -E). -s, --separate traktuje pliki jako oddzielne, zamiast jako jeden, ciagly strumien --sandbox operate in sandbox mode (disable e/r/w commands). -u, --unbuffered laduje minimalna ilosc danych z plikow wejsciowych i oproznia bufory wyjsciowe znacznie czesciej -z, --null-data oddziela wiersze znakiem NUL --help wyswietla ten tekst i konczy prace --version wyswietla informacje o wersji i konczy dzialanie Jesli nie podano zadnej z opcji -e, --expression, -f ani --file, to pierwszy argument niebedacy opcja jest interpretowany jako skrypt seda. Wszystkie pozostale argumenty sa nazwami plikow wejsciowych; jesli nie podano zadnych, to czytane jest standardowe wejscie. Strona internetowa GNU sed: . Ogolna pomoc dotyczaca oprogramowania GNU: . Zgloszenia bledow prosze wysylac na adres: . SKLADNIA POLECEN Jest to zwiezle podsumowanie polecen sed, przeznaczone jako przypomnienie dla osob znajacych program sed; aby przeczytac pelniejszy opis konieczne jest siegniecie po inny typ dokumentacji (np. texinfo). "Polecenia" nie przyjmujace adresow : etykieta Etykieta do polecen b i t. #komentarz Komentarz konczy sie wraz ze znakiem nowego wiersza (lub koncem fragmentu skryptu -e). } Nawias klamrowy zamykajacy blok { }. Polecenia z zerem lub jednym adresem = Wypisuje biezacy numer wiersza a \ text Dolacza (dodaje za) tekst, w ktorym kazdy ewentualny znak nowego wiersza jest poprzedzony odwrotnym ukosnikiem. i \ text Wstawia (dodaje przed) tekst, w ktorym kazdy ewentualny znak nowego wiersza jest poprzedzony odwrotnym ukosnikiem. q [status-zakonczenia] Natychmiast wychodzi ze skryptu seda bez przetwarzania dalszego wejscia, z wyjatkiem sytuacji, gdy nie wylaczono automatycznego wypisywania biezacego bufora tekstowego, ktory bedzie wowczas nadal wypisywany. Argument statusu zakonczenia jest rozszerzeniem GNU. Q [status-zakonczenia] Natychmiast wychodzi ze skryptu seda bez przetwarzania dalszego wejscia. Argument statusu zakonczenia jest rozszerzeniem GNU. r nazwa-pliku Dolacza (dodaje za) tekst odczytany z nazwy-pliku. R nazwa-pliku Dolacza (dodaje za) tekst odczytany z nazwy-pliku. Kazde wywolanie tego polecenia odczytuje jeden wiersz z pliku. Jest to rozszerzenie GNU. Polecenia, ktore przyjmuja zakresy adresow { Rozpoczyna blok polecen (ktory konczy sie znakiem } ). b etykieta Przechodzi do etykiety; jesli jej nie podano, przechodzi na koniec skryptu. c \ text Zastepuje wybrane wiersze tesktem, w ktorym kazdy ewentualny znak nowego wiersza jest poprzedzony odwrotnym ukosnikiem. d Usuwa bufor tekstowy. Rozpoczyna nowy cykl. D Jesli wzorzec nie zawiera znaku nowego wiersza, rozpoczyna nowy zwykly cykl jak gdyby uzyto polecenia d. W przeciwnym razie usuwa bufor tekstowy az do pierwszego znaku nowego wiersza i rozpoczyna cykl od nowa z powstalym w ten sposob buforem tekstowym, bez odczytywania znaku nowego wiersza z wejscia. h H Kopiuje/dolacza biezacy bufor tekstowy do wewnetrznego schowka. g G Kopiuje/dolacza wewnetrzny schowek do bufora tekstowego. l Wypisuje biezacy wiersz w formie "wizualnie jednoznacznej". l szerokosc Wypisuje biezacy wiersz w formie "wizualnie jednoznacznej", przelamujac go po szerokosc znakow. Jest to rozszerzenie GNU. n N Czyta/dolacza nastepny wiersz do bufora tekstowego. p Wypisuje biezacy bufor tekstowy. P Wypisuje biezacy bufor tekstowy az do jego pierwszego znaku nowego wiersza. s/wyrazenie-regularne/zamiennik/ Podejmuje probe dopasowania wyrazenia-regularnego do biezacego bufora tekstowego. Jesli sie to uda, zastepuje dopasowana czesc zamiennikiem. Zamiennik moze zawierac znak specjalny &, aby odniesc sie do dopasowanej czesci bufora tekstowego, oraz sekwencje specjalne od \1 do \9, aby odniesc sie do odpowiedniej pasujacej czesci wyrazenia w wyrazeniu-regularnym. t etykieta Jesli s/// wykonalo pomyslnie zastapienie od czasu odczytania ostatniego wiersza wejsciowego oraz ostatniego polecenia t lub T, przechodzi do etykiety. Jesli nie podano etykiety, przechodzi do konca skryptu. T etykieta Jesli zadne s/// nie wykonalo pomyslnie zastapienia od czasu odczytania ostatniego wiersza wejsciowego oraz ostatniego polecenia t lub T, przechodzi do etykiety. Jesli nie podano etykiety, przechodzi do konca skryptu. Jest to rozszerzenie GNU. w nazwa-pliku Zapisuje biezacy bufor tekstowy do nazwy-pliku. W nazwa-pliku Zapisuje pierwszy wiersz biezacego bufora tekstowego do nazwy-pliku. Jest to rozszerzenie GNU. x Zamienia zawartosc bufora tekstowego i wewnetrznego schowka. y/zrodlo/cel/ Zamienia znaki w buforze tekstowym, ktore znajduja sie w zrodle, na odpowiadajace znaki w celu. Adresy Polecenia Seda moga: * nie zawierac adresow - wtedy polecenia sa wykonywane na wszystkich wierszach wejsciowych; * zawierac jeden adres - sa wowczas wykonywane na wierszach wejsciowych pasujacych do tego adresu; * zawierac dwa adresy - polecenia sa wykonywane na wszystkich wierszach wejsciowych od pierwszego adresu az do drugiego adresu. Nalezy odnotowac trzy rzeczy o zakresach adresow: * skladnia to adres1,adres2 (tzn. adresy sa oddzielone przecinkami); * wiersz z dopasowanym adresem1 jest zawsze akceptowany, nawet jesli adres2 wybiera wczesniejszy wiersz; * jesli adres2 jest wyrazeniem-regularnym, to nie jest testowany w odniesieniu do wiersza, do ktorego dopasowano adres1. Po adresie (lub zakresie adresu), a przed poleceniem, mozna wstawic znak !, ktory powoduje, ze polecenie powinno byc wykonane tylko na adresie (lub zakresie adresu), ktory nie pasuje. Obslugiwane sa nastepujace typy adresow: numer Dopasowuje jedynie wiersz o podanym numerze (zwiekszajacym sie wraz z kolejnymi plikami, chyba ze podano tez opcje -s). pierwszy~krok Dopasowuje co krok wiersz, zaczynajac od wiersza o numerze pierwszy. Na przyklad "sed -n 1~2p" wypisuje wszystkie nieparzyste wiersze w strumieniu wejsciowym, a adres 2~5 dopasuje co piaty wiersz, zaczynajac od drugiego. Pierwszy moze wynosic zero, w takim przypadku sed dziala identycznie, gdyby wynosil on tyle co krok (jest to rozszerzenie). $ Dopasowuje ostatni wiersz. /wyrazenie-regularne/ Match lines matching the regular expression regexp. Matching is performed on the current pattern space, which can be modified with commands such as "s///". \zwyrazenie-regularnez Dopasowuje wiersze pasujace do wyrazenia regularnego wyrazenie-regularne. Za z mozna podstawic dowolny znak. GNU sed obsluguje rowniez specjalne formy dwuadresowe: 0,adres2 Rozpoczyna w stanie "dopasowany pierwszy adres", az do momentu znalezienia adresu2. Jest to podobne do 1,adres2 , z wyjatkiem tego, ze gdy adres2 zostanie dopasowany do pierwszego wiersza wejscia, to forma 0,adres2 bedzie na koncu swojego zakresu, podczas gdy forma 1,adres2 bedzie wciaz na poczatku swojego zakresu. Dziala to tylko gdy adres2 jest wyrazeniem regularnym. adres1,+N Dopasowuje adres1 do N-tego wiersza znajdujacego sie za adresem1 adres1,~N Dopasowuje adres1 i wiersze za adresem1 do nastepnego wiersza wejsciowego, ktorego numer wiersza jest wielokrotnoscia N. WYRAZENIA REGULARNE POSIX.2 BREs should be supported, but they aren't completely because of performance problems. The \n sequence in a regular expression matches the newline character, and similarly for \a, \t, and other sequences. The -E option switches to using extended regular expressions instead; it has been supported for years by GNU sed, and is now included in POSIX. USTERKI Zgloszenia bledow prosze wysylac na adres bug-sed@gnu.org (po angielsku). Prosze rowniez umiescic wynik polecenia "sed --version" w tresci wiadomosci, jesli to mozliwe. AUTOR Written by Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering, and Assaf Gordon. This sed program was built without SELinux support. Strona internetowa GNU sed: . Ogolna pomoc dotyczaca oprogramowania GNU: . Zgloszenia bledow prosze wysylac na adres: . PRAWA AUTORSKIE Copyright (C) 2022 Free Software Foundation, Inc. Licencja GPLv3+: GNU GPL w wersji 3 lub pozniejszej . Jest to wolne oprogramowanie: mozna je zmieniac i rozpowszechniac. Nie ma ZADNEJ GWARANCJI, w granicach okreslonych przez prawo. ZOBACZ TAKZE awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, dowolna z wielu ksiazek o sedzie, FAQ seda (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/. Pelna dokumentacja sed jest dostepna w formacie Texinfo. Jesli programy info i sed sa poprawnie zainstalowane, to polecenie info sed powinno dac dostep do pelnego podrecznika. TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . GNU sed 4.9 marzec 2023 SED(1)