Rekisteröitymätön käyttäjä
Ero sivun ”Sed” versioiden välillä
Siirry navigaatioon
Siirry hakuun
y/// ja s###
(→Aiheesta muualla: Pari opasta lisää) |
(y/// ja s###) |
||
Rivi 6: | Rivi 6: | ||
Sed kykenee muokkaamaan myös tiedostoja | Sed kykenee muokkaamaan myös tiedostoja | ||
sed -i <muokattava-tiedosto> | sed -i <muokattava-tiedosto> | ||
===Sedin ohjaaminen=== | ===Sedin ohjaaminen=== | ||
Sed vastaanottaa muokkaustemplaatin joko tiedostona | Sed vastaanottaa muokkaustemplaatin joko tiedostona | ||
sed -f <skriptitiedosto> | sed -f <skriptitiedosto> | ||
tai komentoriviargumenttina | tai komentoriviargumenttina | ||
sed -e '<sed-lauseke>' | sed '<sed-lauseke>' | ||
Lausekkeita voi suoritusnopeutta ajatellen ketjuttaa ohjelman useamman käynnistämisen välttämiseksi | |||
sed '<sed-lauseke>' -e '<sed-lauseke>' | |||
===Sed-lausekkeet=== | ===Sed-lausekkeet=== | ||
Tyypillisin sed-lauseke lienee epäilemättä | Tyypillisin sed-lauseke lienee epäilemättä | ||
s/<korvattava lauseke>/<korvaava lauseke>/g | s/<korvattava lauseke>/<korvaava lauseke>/g | ||
Sedissa s/// siis korvaa yksittäisia [[wikipedia:fi:merkkijono|osamerkkijonoja]] toisilla, g perässä kertoo, että kaikki vastaavuudet korvataan, eikä vain rivin ensimmäistä. | Sedissa s/// siis korvaa yksittäisia [[wikipedia:fi:merkkijono|osamerkkijonoja]] toisilla, g perässä kertoo, että kaikki vastaavuudet korvataan, eikä vain rivin ensimmäistä. Tätä samaa korvaussyntaksia käyttää mm. [[vim]]. | ||
Käsiteltäessä vaikkapa hakemistopolkuja voidaan välimerkki valita toisin | |||
s#/root/tmp#/tmp#g | |||
Korvaamisen lisäksi syötteelle voidaan tehdä [[tr]]-komentoa mukaileva käännös, joka muuntaa yksittäisiä merkkejä | |||
echo 'kaarteessa kahlaajat' | sed 'y/a/i/' | |||
Tulosteeksi tulisi "kiirteessi kihliijit". | |||
===Esimerkkejä=== | ===Esimerkkejä=== |