Sed (program)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

sed (ang. stream editor) – edytor strumieniowy, który występuje w zestawie komend systemów uniksowych, a służy do przetwarzania tekstu. Łączy w sobie prostotę oraz szeroki wachlarz możliwości. Znajduje też zastosowanie przy pisaniu programów konwertujących. Jest on językiem programowania zupełnym w sensie Turinga.

Wyrażenia regularne (ang. regular expressions, w skrócie regex lub regexp) – wzorce, które opisują łańcuchy symboli. Teoria wyrażeń regularnych jest związana z teorią języków regularnych. Wyrażenia regularne mogą określać zbiór pasujących łańcuchów, mogą również wyszczególniać istotne części łańcucha.grep – jeden z podstawowych programów wchodzących w skład systemu Unix. Służy do znajdowania w strumieniu wejścia (plik, lub po prostu wpisywany tekst) linii zawierających ciąg znaków pasujących do danego wyrażenia regularnego. Został napisany przez Kena Thompsona.

Historia powstania i powiązania[ | edytuj kod]

Sed jest jednym z pierwszych poleceń systemów uniksowych, polegającym na przetwarzaniu strumieni tekstowych. Wyewoluował z polecenia grep, jego składnia oparta jest na programie ed, swoimi możliwościami zbliżony jest do AWK. Zarówno sed, jak i AWK, uznawane są za inspirację Perla. Istnieje rozszerzenie Super-sed zawierające wyrażenia regularne kompatybilne z Perlem (między innymi s/// jest jednym z poleceń Perla). Program sed jest standardowo dostępny w większości systemów operacyjnych. Został stworzony w 1973 roku przez Lee E. McMahona dla organizacji Bell Labs. Innym wariantem seda jest minised, wprowadzony przez Erica S. Raymonda, obecnie prowadzony przez René Rebe. Zawiera on kilka rozszerzeń BSD, jednak całokształt nie jest tak rozbudowany, jak standardowy sed. Jego zaletą jest szybkość oraz to, że zużywa mało pamięci.

ed to standardowy edytor wierszowy systemu UNIX. ed przyjmuje, że tekst podlegający obróbce podzielony jest na wiersze i pozwala jedynie na modyfikacje wskazanych wierszy tekstu za pomocą poleceń wydawanych programowi w trybie interaktywnym, w podobny sposób jak w wierszu poleceń systemu DOS czy UNIX. Zmusza to użytkownika do operowania numerami wierszy tekstu.BSD (ang. Berkeley Software Distribution, czasami nazywany Berkeley Unix) – odmiana systemu operacyjnego Unix wywodząca się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Także potoczna nazwa licencji BSD, na której te systemy są wydawane oraz pokrewnych licencji tego typu (np. licencja MIT).


Podstrony: 1 [2] [3]




Warto wiedzieć że... beta

Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.
Wiersz poleceń (ang. Command Line Interface, CLI), to jeden z najczęściej spotykanych sposobów interakcji człowieka z komputerem. Inne przykłady to interfejs tekstowy oraz interfejs graficzny.
Bell Telephone Laboratories lub w skrócie Bell Labs – oddział badawczy i wdrożeniowy telekomunikacyjnej korporacji amerykańsko-francuskiej Alcatel-Lucent.
W systemach Unix oraz w systemach uniksopodobnych polecenia są często programami uruchamianymi z wiersza poleceń powłoki systemowej. Często różne powłoki mają dodatkowo wbudowane własne implementacje niektórych poleceń; np. zawierają wersję polecenia dostępnego jako /bin/echo. To, która wersja polecenia będzie wykonana domyślnie zależy od tego, która powłoka jest używana oraz od konfiguracji systemu. Podstawową powłoką większości systemów Unix jest Bourne shell dostępna zwykle jako /bin/sh lub /usr/bin/sh, jednak częściej w pracy interaktywnej używa się wywodzących się z niej, bardziej rozbudowanych powłok takich jak bash, Korn shell, Z shell, czy też spokrewnionych C shell i tcsh, z nowszych popularność zyskuje fish. Większość powłok może być także używana jako języki skryptowe, co pozwala użytkownikowi na wykonywanie rozbudowanych poleceń wykorzystujących wiele programów oraz pisanie skryptów automatyzujących często wykonywane czynności. Za pomocą mechanizmów potoków i kolejek można w łatwy sposób przekazywać dane pomiędzy wieloma programami tworząc z nich bardziej skomplikowane narzędzia.
W teorii obliczalności o maszynie lub języku programowania mówimy, że jest kompletny w sensie Turinga lub zupełny, jeśli można za jego pomocą rozwiązać identyczną klasę problemów obliczeniowych, jak na uproszczonym modelu programowalnego komputera zwanego maszyną Turinga. W praktyce oznacza to, że jeśli dany język lub maszyna potrafi wykonać lub wyrazić każdy algorytm, określany jest mianem zupełnego, przy czym nie jest wymagane, by algorytm ten realizowany był prosto, wydajnie bądź efektywnie.

Reklama