Muokataan sivua Säännöllinen lauseke
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 27: | Rivi 27: | ||
bono | bono | ||
Yleensä (mm. grep ja awk) katsotaan, että kohteen alussa ja lopussa voi olla mielivaltainen määrä ei-vastaavia merkkejä. Tällöin kohde ( | Yleensä (mm. grep ja awk) katsotaan, että kohteen alussa ja lopussa voi olla mielivaltainen määrä ei-vastaavia merkkejä. Tällöin kohde (s.o. näiden komentojen tapauksessa jokin ''rivi'' jossain tiedostossa) vastaa lauseketta, jos edes jokin sen ''osa'' vastaa lauseketta. Siis grep ja awk -yhteydessä lauseke | ||
abba | abba | ||
vastaa kohdetta | vastaa kohdetta | ||
Rivi 350: | Rivi 350: | ||
=== Rivin alku ja loppu: <tt>^</tt> ja <tt>$</tt>=== | === Rivin alku ja loppu: <tt>^</tt> ja <tt>$</tt>=== | ||
On voinut herätä kysymys, kuinka voidaan vastata kohdetta ( | On voinut herätä kysymys, kuinka voidaan vastata kohdetta (s.o. riviä) ''tarkalleen''. Heti alussa selvisi, että esim grepin mielestä kohde (rivi) vastaa lauseketta, jos lauseke esiintyy missä tahansa kohdassa riviä. Jos halutaan, että lauseke vastaa alusta loppuun tarkalleen koko riviä, on otettava käyttöön erikoismerkit <tt>^</tt> ja <tt>$</tt>. Nämä vastaavat kohteessa rivin tai merkkijonon alkua ja loppua kuvaavia "näkymättömiä" merkkejä vastaavasti. Siten | ||
^abba$ | ^abba$ | ||
vastaa vain riviä | vastaa vain riviä | ||
Rivi 410: | Rivi 410: | ||
===== Pako komentotulkista ===== | ===== Pako komentotulkista ===== | ||
Jos halutaan antaa jokin monimutkaisempi ilmaisu, on hyvä asettaa säännöllinen lauseke yksinkertaisten heittomerkkien <tt>'</tt> sisään, jotta ne regexp-operaattorit, joillla on jokin erikoismerkitys [[komentotulkki| | Jos halutaan antaa jokin monimutkaisempi ilmaisu, on hyvä asettaa säännöllinen lauseke yksinkertaisten heittomerkkien <tt>'</tt> sisään, jotta ne regexp-operaattorit, joillla on jokin erikoismerkitys [[komentotulkki|komeotulkissa]] eivät aiheuta ongelmia. | ||
$ echo moi | egrep m(o|a)i | $ echo moi | egrep m(o|a)i | ||
-bash: syntax error near unexpected token `(' | -bash: syntax error near unexpected token `(' |