expr

Material iz Vikipedii -- svobodnoi entsiklopedii
Pereiti k navigatsii Pereiti k poisku

expr -- programma v UNIX-podobnykh OS, vychisliaiushchaia znachenie vyrazheniia i vyvodiashchaia rezul'tat na standartnyi vyvod. Kazhdaia leksema vyrazheniia dolzhna byt' otdel'nym argumentom. Operandy mogut byt' kak chislami, tak i strokami. Strokovye operandy ne nado zakliuchat' v kavychki, khotia eto, mozhet byt', i neobkhodimo sdelat' dlia predotvrashcheniia interpretatsii ikh shellom. expr opredeliaet tip operanda (tseloe chislo ili stroka) po primeniaemoi k nemu operatsii.

Ispol'zovanie

[pravit' | pravit' kod]
  • expr vyrazhenie...
  • expr {--help,--version}

Podderzhivaemye operatory

[pravit' | pravit' kod]

Deistvitel'ny sleduiushchie operatory (v poriadke vozrastaniia prioriteta):

  • | -- diz'iunktsiia
  • & -- kon'iunktsiia
  • < <= = == != >= > -- sravnit' argumenty i vozvratit' 1, esli operatsiia otnosheniia verna, i 0 v protivnom sluchae. (== iavliaetsia sinonimom =.) expr pytaetsia privesti oba argumenta k chislovomu tipu i proizvesti chislovoe sravnenie; esli privedenie ne udaiotsia proizvesti khotia by dlia odnogo argumenta, to proizvoditsia leksikograficheskoe (strokovoe) sravnenie
  • + - -- proizvesti ukazannye arifmeticheskie operatsii. Pered etim oba argumenta privodiatsia k chislovomu tipu; esli eto nel'zia sdelat', vydaiotsia soobshchenie ob oshibke
  • * / % -- proizvesti ukazannye arifmeticheskie operatsii (<<%>> -- eto operatsiia deleniia po moduliu, kak v C). Pered etim oba argumenta privodiatsia k chislovomu tipu; esli eto nel'zia sdelat', vydaiotsia soobshchenie ob oshibke
  • : -- proizvesti poisk po shablonu. Oba argumenta privodiatsia k strokovomu tipu, pri etom vtoroi schitaetsia reguliarnym vyrazheniem s neiavno dobavlennym simvolom <<^>> v nachale. Posle etogo v pervom argumente proizvoditsia poisk po vtoromu v kachestve shablona. Esli naideno sootvetstvie i chast' stroki vydelena simvolami <<(>> i <<)>>, to znacheniem operatsii : iavliaetsia eta chast'; v protivnom sluchae vozvrashchaetsia tseloe chislo, ravnoe kolichestvo simvolov, sootvetstvuiushchikh shablonu. Esli sootvetstvie ne naideno i chast' stroki vydelena simvolami <<(>> i <<)>>, to rezul'tatom operatsii : iavliaetsia pustaia stroka, v protivnom sluchae 0. Pri zadanii shablona mozhet byt' ispol'zovana tol'ko odna para skobok <<(>> i <<)>>

Dopolnitel'no raspoznaiutsia sleduiushchie kliuchevye slova:

  • match stroka reg_vyr -- eshchio odin sposob proizvesti poisk po shablonu. Eto vyrazhenie identichno <>
  • substr stroka pozitsiia dlina -- vozvrashchaet podstroku v stroke, nachinaiushchuiusia s ukazannoi pozitsii i ne bol'she ukazannoi dliny. Esli pozitsiia libo dlina otritsatel'ny ili ne iavliaiutsia chislami, vernut' pustuiu stroku
  • index stroka klass-simvolov -- vozvrashchaet pozitsiiu v stroke, v kotoroi byl vpervye naiden simvol iz klassa-simvolov. Esli ni odnogo takogo simvola ne bylo naideno, vernut' 0
  • length stroka -- vozvrashchaet dlinu stroki

Dlia gruppirovki mozhno primeniat' kruglye skobki. V kachestve strokovykh operandov nel'zia ispol'zovat' kliuchevye slova.

Ssylki

[pravit' | pravit' kod]
Komandy Unix
Utility POSIX.1-2008
Istochnik -- https://ru.wikipedia.org/w/index.php?title=Expr&oldid=96862380