Edytor wsadowy

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)[1][2][3]. Wyniki przetwarzania są kierowane na standardowe wyjście (zwykle do terminala lub dalej w potoku; mogą też zostać przekierowane do pliku)[4].

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[4][5]. 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)[6][7].

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)[4].
  • Typowy edytor strumieniowy zapisuje wynik na standardowe wyjście; w przypadku GNU sed dostępna jest także edycja „w miejscu” (opcja -i), realizowana przez zapis do pliku tymczasowego i podmianę pliku wynikowego[4].
  • 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[4].
  • 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[6][7].

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[8];
  • filtrowanie i transformacje danych tekstowych w potokach (np. w skryptach i automatyzacji przetwarzania logów)[4];
  • upraszczanie powtarzających się operacji na wielu plikach przez ujęcie ich w skrypt poleceń edycyjnych[8];
  • pisanie programów konwertujących (normalizacja formatu tekstu, zmiany układu rekordów, usuwanie/wstawianie fragmentów)[5].

Przykład

Poniższy przykład pokazuje podstawienie tekstu w strumieniu wejściowym i zapis wyniku na standardowe wyjście (z przekierowaniem do pliku)[4].

sed 's/hello/world/' input.txt > output.txt

Przykłady narzędzi realizujących edycję wsadową/strumieniową:

  • sed (edytor strumieniowy)[4][5].
  • ed (edytor wierszowy, możliwy do sterowania z poziomu skryptów)[6][7].
  • ex (edytor wierszowy, z którym powiązany jest vi)[9].

Przypisy

  1. ↑ Machtelt Garrels, Bash guide for beginners, wyd. 2nd ed, [Palo Alto, CA]: Fultus Books, 2010, ISBN 1-59682-201-5, OCLC 708653410 [dostęp 2026-03-02].
  2. ↑ Manfred Nagl, Andreas Schürr, Manfred Münch, Applications of graph transformations with industrial relevance : international workshop, AGTIVE'99, Kerkrade, the Netherlands, September 1-3, 1999 : proceedings, Berlin: Springer, 2000, ISBN 3-540-67658-9, OCLC 44447077 [dostęp 2026-03-02].
  3. ↑ Mark G. Sobell, Robert Górczyński, Linux: programowanie w powłoce: praktyczny przewodnik, Gliwice: Wydawnictwo Helion, 2014, s. 630, ISBN 978-83-246-7569-2 [dostęp 2026-03-02].
  4. 1 2 3 4 5 6 7 8 GNU sed [online], GNU Project [dostęp 2026-03-02].
  5. 1 2 3 sed — stream editor [online], The Open Group [dostęp 2026-03-02].
  6. 1 2 3 GNU ed Manual [online], GNU Project, 6 lutego 2026 [dostęp 2026-03-02].
  7. 1 2 3 ed — Use the ed line-oriented text editor [online], IBM Documentation [dostęp 2026-03-02].
  8. 1 2 The Basics of Using the Sed Stream Editor to Manipulate Text in Linux [online], DigitalOcean Community, 19 maja 2020 [dostęp 2026-03-02].
  9. ↑ ex — text editor [online], The Open Group [dostęp 2026-03-02].