Ero sivun ”Sed” versioiden välillä
Ei muokkausyhteenvetoa |
|||
Rivi 10: | Rivi 10: | ||
sed -f <skriptitiedosto> | sed -f <skriptitiedosto> | ||
tai komentoriviargumenttina | tai komentoriviargumenttina | ||
sed -e <sed-lauseke> | sed -e '<sed-lauseke>' | ||
===Sed-lausekkeet=== | ===Sed-lausekkeet=== | ||
Tyypillisin sed-lauseke lienee epäilemättä | Tyypillisin sed-lauseke lienee epäilemättä | ||
Rivi 17: | Rivi 17: | ||
===Esimerkkejä=== | ===Esimerkkejä=== | ||
echo ababaabcd | sed -e s/\(ab\)*// | echo ababaabcd | sed -e 's/\(ab\)*//' | ||
tulostaa "abaabcd". Vastaavasti g:n kanssa | tulostaa "abaabcd". Vastaavasti g:n kanssa | ||
echo ababaabcd | sed -e s/\(ab\)*//g | echo ababaabcd | sed -e 's/\(ab\)*//g' | ||
tulostaa "acd", tässä * on kuitenkin turha, koska g vastaa saman merkkijonon mielivaltaisen monta kertaa. | tulostaa "acd", tässä * on kuitenkin turha, koska g vastaa saman merkkijonon mielivaltaisen monta kertaa. | ||
Versio 25. marraskuuta 2008 kello 16.21
Sed eli Stream Editor on tiedostojen ja syötevirtojen yksinkertaiseen automaattiseen muokkaamiseen tarkoitettu ohjelma ja tavallaan myös kieli. Kuten useimmista muistakin peruskomentorivityökaluista, tästäkin on useita toteutuksia.
Käyttö
Tyypillisin käyttötapa on komentotulkin putkitusominaisuutta käytettävä muoto
<tulostava komentolauseke> | sed -e "<sed-lauseke>"
Sed kykenee muokkaamaan myös tiedostoja
sed -i <muokattava-tiedosto>
Sedin ohjaaminen
Sed vastaanottaa muokkaustemplaatin joko tiedostona
sed -f <skriptitiedosto>
tai komentoriviargumenttina
sed -e '<sed-lauseke>'
Sed-lausekkeet
Tyypillisin sed-lauseke lienee epäilemättä
s/<korvattava lauseke>/<korvaava lauseke>/g
Sedissa s/// siis korvaa yksittäisia osamerkkijonoja toisilla, g perässä kertoo, että kaikki vastaavuudet korvataan, eikä vain rivin ensimmäistä.
Esimerkkejä
echo ababaabcd | sed -e 's/\(ab\)*//'
tulostaa "abaabcd". Vastaavasti g:n kanssa
echo ababaabcd | sed -e 's/\(ab\)*//g'
tulostaa "acd", tässä * on kuitenkin turha, koska g vastaa saman merkkijonon mielivaltaisen monta kertaa.