Ero sivun ”Ed” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 915 merkkiä lisätty ,  6. syyskuuta 2008
regexpeistä
(lisää)
(regexpeistä)
Rivi 212: Rivi 212:
Komento v on samantapainen kuin komento g, mutta se kohdistaa operaation niille riveille, jotka eivät toteuta hakuehtoa.
Komento v on samantapainen kuin komento g, mutta se kohdistaa operaation niille riveille, jotka eivät toteuta hakuehtoa.


== Erikoismerkit ==
== Säännölliset lausekkeet ==
Haettaessa tiedostosta tiettyjä rivejä ei tarvitse tyytyä pelkkään hakuun hakusanoilla, vaan voidaan myös käyttää säännöllisiä lausekkeita. Tämä tarkoittaa sitä, että hakusanaksi voidaan laittaa lauseke, josta löytyy seuraavia erikoismerkkejä:
. ^ $ [ * \
Piste tarkoittaa, että sen paikalle käy mikä tahansa merkki. Esimerkiksi kaikki merkkijonot, joissa on merkkijonojen "10" ja "11" välissä yksi merkki (esim. "10+11" ja "10Ö11", mutta ei "10++11"), toteuttavat haun
/10.11/
Pisteitä voi olla myös peräkkäin useita, esim. "l...x"-ehtoon täsmäisi merkkijono "linux" tai myös "www.linux.fi" (merkkijonon jälkeen tai ennen sitä voi olla mitä vaan).
 
^ tarkoittaa rivin alkua ja $ rivin loppua. Esimerkiksi ehtoon
/^linux
täsmäisivät rivit "linux.fi" ja "linux on käyttöjärjestelmä", mutta ei esimerkiksi "debian gnu/linux". Esimerkiksi jokaisen rivin alkuun voitaisiin lisätä sana "linux" komennolla
1,$ s/^/linux/
 
Samassa lausekkeessa voidaan käyttää sekä ^ että $ -merkkejä, esimerkiksi seuraavaan ehtoon täsmäisivät vain sellaiset rivit, joilla on 4 merkkiä:
/^....$/
 
Hakasulkujen sisällä voidaan luetella tähän kohtaan sopivat merkit, esimerkiksi ehtoon
/[23] autoa/
täsmäisivät merkkjonot "2 autoa" ja "3 autoa". Lisäksi voidaan käyttää viivaa merkkaamaan suurempaa aluetta, esimerkiksi kaikki numerot voidaan merkitä joko luettelemalla ne ([0123456789]) tai lyhyemmin [0-9].
 
Tähti tarkoittaa, että sitä edeltävä merkki (tai joku merkeistä jos käytetään hakasulkeita) voi esiintyä ennalta tuntemattoman määrän peräkkäin.
 
Jos halutaan etsiä merkkijonoa, johon kuuluu jokin säännöllisissä lausekkeissa käytettävä erikoismerkki, on tämä merkki kirjoitettava eri tavalla hakuehtoon: sen eteen lisätään \-merkki. Esimerkiksi pistettä voidaan hakea komennolla
/\./
tai kauttaviivaa komennolla
/\//


== Järjestelmän komennot ==
== Järjestelmän komennot ==

Navigointivalikko