prawo|mały|Zrzut ekranu strony podręcznika (man page) programu GNU sed („stream editor”) w Termux. Edytor wsadowy / edytor strumieniowy – program komputerowy lub jego część (funkcjonalność), edytor wykonujący nieinteraktywne modyfikacje tekstu na podstawie z góry określonej procedury (skryptu poleceń edycyjnych). Dane wejściowe do edycji mogą pochodzić ze zdefiniowanego źródła: z pliku lub standardowego wejścia (np. z potoku lub z klawiatury). Wyniki przetwarzania są kierowane na standardowe wyjście (zwykle do terminala lub dalej w potoku; mogą też zostać przekierowane do pliku).
Pojęcie „edytora strumieniowego” jest silnie związane z narzędziami typu sed, które wykonują transformacje tekstu na „strumieniu wejściowym” (pliku lub danych z potoku), są projektowane do pracy jako filtr w potokach i realizują przetwarzanie w jednym przebiegu po danych wejściowych. W odróżnieniu od edytorów buforowych, edytory wierszowe (np. ed) zwykle wczytują treść pliku do bufora i interpretują polecenia w trybie komend, co ułatwia ich użycie wsadowe (polecenia mogą pochodzić ze standardowego wejścia).
Charakterystyka Edycja jest opisana skryptem poleceń (np. w przypadku sed skrypt może zostać podany w wierszu poleceń lub wczytany z pliku, a brak wskazania pliku wejściowego oznacza przetwarzanie standardowego wejścia). Typowy edytor strumieniowy zapisuje wynik na standardowe wyjście; w przypadku GNU sed dostępna jest także edycja „w miejscu” (opcja ), realizowana przez zapis do pliku tymczasowego i podmianę pliku wynikowego. GNU sed domyślnie traktuje wiele plików wejściowych jako jeden długi strumień (co ma znaczenie m.in. dla adresowania w skrypcie), a zachowanie to można zmieniać opcjami wywołania. W edytorach wierszowych (np. ed) treść pliku jest przechowywana w buforze, a edycja odbywa się poprzez podawanie poleceń edycyjnych; edytor może działać interaktywnie lub być sterowany z poziomu skryptów powłoki.
Typowe zastosowania programu automatyczna edycja jednego lub większej liczby plików (np. masowe podstawienia i korekty w tekstach lub plikach konfiguracyjnych) wykonywana bez interakcji z użytkownikiem; filtrowanie i transformacje danych tekstowych w potokach (np. w skryptach i automatyzacji przetwarzania logów); upraszczanie powtarzających się operacji na wielu plikach przez ujęcie ich w skrypt poleceń edycyjnych; pisanie programów konwertujących (normalizacja formatu tekstu, zmiany układu rekordów, usuwanie/wstawianie fragmentów).
Przykład Poniższy przykład pokazuje podstawienie tekstu w strumieniu wejściowym i zapis wyniku na standardowe wyjście (z przekierowaniem do pliku). sed 's/hello/world/' input.txt > output.txt
Przykłady narzędzi realizujących edycję wsadową/strumieniową: sed (edytor strumieniowy). ed (edytor wierszowy, możliwy do sterowania z poziomu skryptów). ex (edytor wierszowy, z którym powiązany jest vi).
Przypisy
Kategoria:Oprogramowanie