EXPR(1)

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 merkkejen 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.

KATSO MYÖS