Skip to content

Ściąga z poleceń Sed

Sed to edytor strumieniowy służący do wykonywania podstawowych przekształceń i operacji tekstowych. Jest to jedno z najpotężniejszych narzędzi do przetwarzania tekstu w systemach Unix.

Podstawowe polecenia

sed 's/stare/nowe/' plik

Zastępuje pierwsze wystąpienie “stare” na “nowe” w pliku.

sed 's/stare/nowe/g' plik

Zastępuje wszystkie wystąpienia “stare” na “nowe” w pliku.

sed -n 'p' plik

Drukuje tylko zawartość pliku.

sed 'd' plik

Usuwa zawartość pliku.

sed '2d' plik

Usuwa drugą linię pliku.

sed '2,4d' plik

Usuwa linie od drugiej do czwartej w pliku.

sed '/wzór/d' plik

Usuwa linie zawierające wzór.

sed -i 's/stare/nowe/g' plik

Wykonuje zamianę w pliku i zapisuje zmiany.

Zaawansowane polecenia

sed -e 'polecenie1' -e 'polecenie2' plik

Wykonuje wiele poleceń.

sed -f skrypt.sed plik

Odczytuje polecenia z pliku skryptu.

sed 's/stare/nowe/2' plik

Zastępuje tylko drugie dopasowanie.

sed 's/stare/nowe/3g' plik

Zastępuje wszystkie dopasowania, zaczynając od trzeciego.

sed 's/\(stare\)/\U\1/g' plik

Zamienia wszystkie “stare” na wielkie litery.

sed 's/\(stare\)/\L\1/g' plik

Zamienia wszystkie “stare” na małe litery.

sed 's/\(stare\)/\E\1/g' plik

Zamienia wszystkie “stare” na wielkie litery i przywraca wielkość liter po zamianie.

sed 's/\(stare\)/\e\1/g' plik

Zamienia wszystkie “stare” na małe litery i przywraca wielkość liter po zamianie.

sed 's/stare/nowe/w output.txt' plik

Zapisuje wynik zamiany do pliku.

sed -n 's/stare/nowe/p' plik

Drukuje tylko zamienione linie.

sed -n '/wzór/p' plik

Drukuje tylko linie zawierające wzór.

sed -n '1,5p' plik

Drukuje tylko linie od pierwszej do piątej.

Wzorce wyboru krokowego

sed -n 'n~mp' plik

Drukuje co m-tą linię, zaczynając od linii n.

Przykłady:

  • sed -n '1~2p' plik: Drukuje co drugą linię (linie nieparzyste).
  • sed -n '2~2p' plik: Drukuje wszystkie linie parzyste.
  • sed -n '1~3p' plik: Drukuje co trzecią linię, zaczynając od pierwszej.
  • sed -n 'n~2p' plik: Ten wzorzec jest kontynuowany dla dowolnej linii początkowej n.