Manpages

NIMI

expr − suorita lausekkeita

YLEISKATSAUS

expr lauseke...
expr
{−−help,−−version}

KUVAUS

Tätä ohjetta ei enää ylläpidetä, joten se saattaa olla epätarkka tai puutteellinen. Texinfo -ohjeisto on nyt ensisijainen tietolähde.

Tämä ohje kuvaa komennon expr GNU-version toiminnan. expr suorittaa lausekkeen ja kirjoittaa tuloksen vakiotulosteeseen. Jokaisen symbolin tulee olla erillinen argumentti. Operandit ovat joko numeroita tai merkkijonoja. Merkkijonoja ei tarvitse sijoittaa lainausmerkkeihin, ellei niitä tarvitse suojata komentotulkilta. expr muuttaa kaikki operandit joko kokonaisluvuiksi tai merkkijonoiksi riippuen suoritettavasta operaatiosta.

Operaattorit (kasvavassa laskujärjestyksessä) ovat:

|

Palauttaa ensimmäisen argumentin, jos tämä on tyhjä tai 0, muutoin toisen argumentin. Tämä vastaa "tai" operaatiota.

&

Palauttaa ensimmäisen argumentin, jos kumpikaan argumentti ei ole tyhjä tai 0, muutoin 0:n.

< <= = == != >= >

Vertaa argumentteja ja palauttaa arvon 1 jos lause on tosi, muutoin 0:n. (== on sama kuin =). expr yrittää muuttaa molemmat argumentit numeroiksi ja suorittaa numerisen vertailun. Jos muunnos epäonnistuu, suoritetaan aakkosellinen merkkijonovertailu.

+ -

Suorittaa aritmeettisia operaatioita. Molemmat argumentit muutetaan numeroiksi. Jos tämä epäonnistuu, on tilanne virheellinen.

* / %

Suorittaa aritmeettisia operaatioita ("%" on jakojäännös -operaattori, kuten C:ssä). Molemmat argumentit muutetaan numeroiksi, jos tämä epäonnistuu, on tilanne virheellinen.

:

Suorittaa hahmonsovituksen. Molemmat argumentit muutetaan merkkijonoiksi ja jälkimmäisen oletetaan olevan säännöllinen lauseke, johon lisätään alkuun "^". Tätä lauseketta sovitetaan ensimmäiseen argumenttiin. Jos sovitus onnistuu, ja osa säännöllisestä lausekkeesta on merkkien "\(" ja "\)" sisällä, on tämä osa : -operaation arvo, muutoin palautetaan sovitettujen merkkien lukumäärä. Jos sovitus ei onnistu, : -operaatio palauttaa tyhjän merkkijonon jos merkkejä "\(" ja "\)" on käytetty, muutoin arvon 0. Merkkiparia "\(" ja "\)" voidaan käyttää vain kerran.

Myös seuraavat avainsanat ovat mahdollisia:
match
merkkijono säännöllinen lauseke

Vaihtoehtoinen tapa suorittaa hahmonsovitus. Tämä on sama kuin "merkkijono : säännöllinen lauseke".

substr merkkijono paikka pituus

Palauttaa osan merkkijonoa jonka pituus on enintään pituus alkaen kohdasta paikka. Jos pituus tai paikka on negatiivinen tai ei-numeerinen, palautetaan tyhjä merkkijono.

index merkkijono merkkiryhmä

Palauttaa ensimmäisen kohdan merkkijonosta, jossa on jokin merkkiryhmän määräämä merkki. Jos mikään merkki merkkiryhmästä ei sovi merkkijonoon, palautetaan 0.

length merkkijono

Palauttaa merkkijonon pituuden.

Sulkumerkkejä voidaan käyttää laskujärjestyksen määräämiseen. Avainsanoja ei voi käyttää merkkijonoina.

OPTIOT
Kun GNU expr käynnistetään tasan yhdellä argumentilla, tunnistetaan seuraavat optiot:

−−help

Tulostaa käyttöohjeet vakiotulosteeseen ja poistuu.

−−version

Tulostaa versiotiedot vakiotulosteeseen ja poistuu.

ESIMERKKEJÄ

Lisää 1 komentotulkin muuttujaan a:

a=`expr $a + 1`

Seuraava tulostaa hakemistopolun, joka on tallennettu muuttujaan a, tiedosto-osan ( a:n arvon ei tarvitse sisältää erotinta "/"):

expr $a : ´.*/\(.*\)´ ´|´ $a

Huomaa lainausmerkit.

expr palauttaa jonkun seuraavista statuksista:

0 jos lauseke ei ole tyhjä eikä 0,
1 jos lauseke on tyhjä tai 0,
2 jos lauseke on virheellinen.