Dzisiaj jest 12 grudnia 2024 r.
Chcę dodać własny artykuł

Sed (program)

Wprowadzenie do sed

sed to edytor strumieniowy obecny w systemach uniksowych, służący do przetwarzania tekstu. Jego prostota idzie w parze z rozbudowanymi możliwościami, co czyni go użytecznym narzędziem, w tym przy konwersji programów. Sed jest uznawany za język programowania pełny w sensie Turinga.

Historia i ewolucja

Program sed powstał w 1973 roku, stworzony przez Lee E. McMahona w Bell Labs. Wyewoluował z polecenia grep i jest podobny do programu ed, a także do AWK. Sed oraz AWK były inspiracją dla języka Perl. Istnieje również zmodyfikowana wersja sed, znana jako minised, wprowadzona przez Erica S. Raymonda, która oferuje mniejsze zużycie pamięci i większą szybkość, choć nie jest tak rozbudowana jak standardowy sed.

Składnia i opcje

Program sed można uruchamiać z różnymi opcjami, w tym:

  • -n – wypisuje tylko linie, gdzie wykonano komendę p lub s z parametrem p.
  • -e – do przetwarzania wielu poleceń lub skryptów.
  • -f – wczytywanie komend z pliku.
  • -v – wyświetla informacje o programie.
  • -t – wyłącza nieistotne wyjścia powłoki.
  • -q – eliminuje ostrzeżenia o podstawieniach.
  • -i – edycja w miejscu, zapis do oryginalnego pliku.
  • -b – tworzy kopię zapasową oryginalnego pliku.

Przykłady użycia

Aby zastąpić pierwsze wystąpienie tekstu w pliku, używamy komendy:

sed -i 's/wyraz1/wyraz2/' plik1

Jeśli chcemy zastąpić wszystkie wystąpienia w wierszu, dodajemy opcję /g:

sed -i 's/wyraz1/wyraz2/g' plik1

Aby zapisać wynik do innego pliku:

sed 's/wyraz1/wyraz2/g' plik1 > plik2

Możemy także używać sed w połączeniu z innymi poleceniami:

echo "tekst do przetworzenia" | sed "s/do przetworzenia/przetworzony/"

W przypadku wielu zastąpień w jednym poleceniu:

echo "tekst do przetworzenia" | sed -e 's/tekst/Tekst/;s/do/po/;s/przetworzenia/przetworzeniu/'

Warto korzystać z klas znakowych podczas wyszukiwania wzorców.

Linki zewnętrzne

Najnowsze aktualności: