Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Linux

Kako deluje sed

Ukaz sed (Stream EDitor) je eno najstarejših in najmočnejših orodij za obdelavo besedila v ukazni vrstici. Besedilo obdeluje tokovno — prebere eno vrstico, jo spremeni po ukazih in rezultat izpiše. V tem priročniku si ogledamo najpomembnejše ukaze s praktičnimi primeri.

sed 's/staro/novo/g' datoteka.txt

Kaj je sed

Deluje kot filter med vhodom in izhodom: bere vrstico za vrstico, izvede nad njo ukaze in izpiše rezultat. Izvirna datoteka ostane nespremenjena, razen če uporabimo zastavico -i.

Zamenjava besedila

Osnovni ukaz je s, ki zamenjuje besedilo po vzorcu. Privzeto zamenja samo prvo pojavitev v vrstici, z zastavico g pa vse pojavitve.

echo "pozdravljen svet" | sed 's/pozdravljen/zdravo/'
# izpis: zdravo svet

sed 's/staro/novo/g' datoteka.txt   # zamenja vse pojavitve

Brisanje in vstavljanje vrstic

Z ukazom d brišemo vrstice, z i vstavimo vrstico pred določeno, z a pa za njo.

sed '3d' datoteka.txt # zbriše 3. vrstico
sed '/#/d' datoteka.txt # zbriše vrstice z znakom #
sed '5i\Nova vrstica' datoteka.txt # vstavi pred 5. vrstico

Izpisi določenih vrstic

Kombinacija zastavic -n in ukaza p izpiše samo tiste vrstice, ki jih potrebujemo.

sed -n '10,20p' datoteka.txt   # izpiše vrstice 10 do 20

Sprememba datoteke na mestu

Z zastavico -i sed spremeni datoteko neposredno. Zelo priporočljivo je ustvariti varnostno kopijo z dodatkom končnice.

sed -i.bak 's/staro/novo/g' datoteka.txt
# ustvari varnostno kopijo datoteka.txt.bak
 
back Nazaj na blog