Część adres odpowiada za to, która linia będzie brana pod uwagę. Adres można podać za pomocą liczb (np. 3 ) lub cytując słowa zapisane w konkretnej linii (np. /bbb/, gdzie bbb to wyrażenie regularne, będące wzorcem do dopasowania). Polecenie określa co ma się zmienić. Natomiast argumentem może być np. tekst.
i- dopisuje tekst podany jako argument przed wybraną linią
Przykład 1
treść skryptu:
owi@laptop:~$ sed '3i ala ma kota' dane
Przed trzecią linia zostanie dopisany tekst „ala ma kota”.
a- dopisuje tekst podany jako argument po wybranej linii
Przykład 2
treść skryptu:
owi@laptop:~$ sed '6a ala ma kota' dane
Po szóstej linii zostanie dopisany tekst „ala ma kota”.
p- wyświetla podaną linię
Przykład 3
owi@laptop:~$ sed -n '4p' dane
Zostanie wyświetlona jedynie 4 linia.
Przykład 4
owi@laptop:~$ sed -n '4,6p' dane
Zostaną wyświetlone linie od 4 do 6.
Przykład 5
owi@laptop:~$ sed -n '/ala/,/kasia/p' dane
Zostaną wyświetlone wszystkie linie pomiędzy tą zaczynającą się na ala a tą na kasia.
Przykład 6
owi@laptop:~$ sed -n '4,6!p' dane
Wykrzyknik przed literą p oznacza negacje. Nie zostaną więc wyświetlone linie od 4 do 6.
UWAGA! Aby uruchomić skrypt z poleceniem p w sposób drugi (tzn. sed -f skrypt dane) należy jeszcze przed parametrem -f dodać -n.
q– wyświetla linie aż do podanej i kończy skrypt
Przykład 7
owi@laptop:~$ sed '3q' dane
Zostaną wyświetlone jedynie pierwsze 3 linie.
d – nie wyświetla wskazanych linii
Przykład 8
owi@laptop:~$ sed '3,$d' dane
Nie wyświetli linii od 3 do ostatniej, ponieważ $ do symbolizuje ostatnią linię.
s– zamienia podana linie na inną
Przykład 9
owi@laptop:~$ sed 's/ala/kasia/g' dane
Linia ze slowem ala zostanie zamieniona na linie ze słowem kasia. Litera g oznacza, że stanie się to w calym pliku a nie tylko w pierwszej napotkanej linii.
Autor: Aleksandra Przybyło aleksandraprzybylo@gmail.com
Akademia Górniczo-Hutnicza Wydział Geologii, Geofizyki i Ochrony Środowiska Informatyka Stosowana