dc (linux parancs)

Tartalom

 

Adatok

Licenc: GNU
Verziószám: (GNU bc 1.07.1) 1.4.1
Fejlesztő/tulajdonos: Free Software Foundation, Inc.

Rövid leírás:

A dc linux parancs manual oldala és súgója. A dc egy korlátlan pontosságú számítások elvégzésére alkalmas fordított-lengyel (postfix) asztali számológép, amely lehetőséget ad makrók definiálására és végrehajtására. A bemenetet a szabványos bemenetről veszi; ha argumentumot adsz meg neki, azt fájlnévként értelmezi és azon fájlok tartalmát veszi és hajtja végre, majd ezután olvas a szabványos bemenetről. A kimenet a szabványos kimenet, a hibák a szabványos hibakimenetre íródnak.

 

 

Man oldal kimenet

man dc
DC(1)                           General Commands Manual                           DC(1)

NÉV
       dc - tetszőleges pontosságú számológép

ÁTTEKINTÉS
       dc

LEÍRÁS
       A  dc egy korlátlan pontosságú számítások elvégzésére alkalmas fordított-lengyel
       (postfix) asztali számológép,  amely  lehetőséget  ad  makrók  definiálására  és
       végrehajtására.  A bemenetet a szabványos bemenetről veszi; ha argumentumot adsz
       meg neki, azt fájlnévként értelmezi és azon fájlok  tartalmát  veszi  és  hajtja
       végre,  majd  ezután  olvas  a  szabványos  bemenetről.  A  kimenet a szabványos
       kimenet, a hibák a szabványos hibakimenetre íródnak.

       A fordított-lengyel számológép a számokat egy veremben tárolja. Új szám bevitele
       esetén  a  szám  a  verem  tetejére kerül. A műveletek az argumentumukat a verem
       tetejéről veszik, majd az eredményt visszateszik a verembe.

       A bevitelhez a számot egyszerűen beírod, követheti opcionálisan tizedespont.   A
       hatványalak használata nem támogatott. Negatív számok beviteléhez a számot ``_''
       karakterrel kezdd. Az előjel nem  lehet  ``-'',  mivel  ez  a  kivonás  műveleti
       operátora.  Több  számot  egymástól  szóközzel  vagy új sorral elválasztva lehet
       bevinni, ezen karakterek nem parancsok.

KIÍRÓ PARANCSOK
       p      Kiírja a verem tetején levő számot a  verem  megváltoztatása  nélkül.   A
              szám után egy újsor karakter is kiíródik.

       P      Kiveszi  a  verem  tetejéről  a  számot,  kiírja,  és  nem ír utána újsor
              karaktert.

       f      Kiírja a verem teljes tartalmát anélkül, hogy bármit változtatna.   Akkor
              jó,  ha  teljesen  eltévedtél,  vagy  ki akarod találni, hogy egy parancs
              vajon mit csinált.

SZÁMÍTÁSOK
       +      Leveszi a verem két felső elemét,  összeadja  őket,  és  az  eredményt  a
              verembe helyezi. A pontosságot kizárólag az argumentumok értéke határozza
              meg.

       -      Leveszi a verem két felső elemét, az elsőt (ami  eredetileg  felül  volt)
              kivonja a másodikból, majd az eredményt a verembe helyezi.

       *      Leveszi a verem két felső elemét, összeszorozza őket, majd az eredményt a
              verembe helyezi. A tizedesjegyek számát az  aktuális  pontosságérték  (l.
              lentebb) határozza meg, és nem függ a szorzandóktól.

       /      Leveszi a verem két felső elemét, az elsőt elosztja a másodikkal, majd az
              eredményt a verembe helyezi.  A  tizedesjegyek  számát  a  pontosságérték
              határozza meg.

       %      Leveszi  a  verem  két felső elemét, a / által végzett osztás maradékát a
              verembe  helyezi.  Az  osztás  a   pontosságérték   által   meghatározott
              pontossággal  végződik  el,  és a maradék is ennek megfelelő számú jegyre
              számolódik ki.

       ~      Leveszi a verem két felső elemét, az elsőt elosztja a másodikkal. Először
              a  hányadost,  aztán a maradékot helyezi a verembe. Az osztásban használt
              tizedesjegyek értéke a pontosságértéktől függ. (A SdSn lnld/ LnLd% hatása
              hasonló, a hibakezelése más egy kicsit.)

       ^      Leveszi  a  verem  két  felső elemét, az elsőt (ami eredetilg felül volt)
              kitevőként, a másodikat alapként használva elvégzi a hatványozást.  Ha  a
              kitevőnek  van  törtrésze,  azt  figyelmen kívül hagyja. A pontosságérték
              határozza meg, hogy az eredmény hány tizedesjegyre számítódik ki.

       |      Törtkitevős hatványozást végez. Leveszi a verem felső három  elemét.   Az
              első  (ami  eredetileg  felül  volt) lesz a kitevő nevezője, ez nem lehet
              nulla, és egésznek kell lennie. A második a  kitevő  számlálója,  ez  nem
              lehet  negatív.  Ha  van  tizedesjegye,  azt  figyelmen  kívül hagyja.  A
              harmadik szám lesz a hatványozás alapja. A pontosságérték határozza  meg,
              hogy  az  eredmény  hány  tizedesjegyre  számítódik ki. Kis számok esetén
              hasonlít hozzá a Sm lble^ Lm% szekvencia,  de  a   ^-tól  eltérően  ez  a
              parancs nem alkalmazható tetszőlegesen nagy kitevőkre.

       v      Levesz  egy  elemet  a  veremről,  kiszámítja  a  négyzetgyökét,  majd az
              eredményt a verembe helyezi. A pontosságérték határozza  meg,  hogy  hány
              tizedesjegyre végződik el a számítás.

       A   legtöbb   számítás   eredményét  befolyásolja  a  k  paranccsal  beállítható
       pontosságérték. Ez alapértelmezésben nulla, ami azt jelenti, hogy  az  összeadás
       és a kivonás kivételével minden művelet erdménye egész lesz.

       A  % maradék-művelet kis magyarázatra szorul. Ha az argumentumai ``a'' és ``b'',
       akkor a művelet eredménye ``a - (b * (a / b))'', ahol  ``a  /  b''  az  aktuális
       pontosságérték szerint számítódik.

VEREMKARBANTARTÁS
       c      Kitörli a verem minden elemét, a verem üres lesz.

       d      A  verem tetején levő elemet megduplázza és a verem tetejére helyezi, így
              a ``4d*p'' eredménye 16.

       r      Megfordítja (kicseréli) a verem két felső elemét.

REGISZTEREK
       A dc 256 memóriaregisztert képes kezelni, mindegyikük neve egyetlen karakter.  A
       regiszterben   tárolható   és   később  újrafelhasználható  egy  szám  vagy  egy
       karakterlánc.

       sr     A verem tetején levő értéket leveszi és az r regiszterben eltárolja.

       lr     Az r regiszter tartalmát a verembe helyezi. Ez a művelet nem  változtatja
              meg az r regiszter tartalmát.

       Minden regiszternek megvan a saját verme, az aktuális regiszterérték van a verem
       tetején.

       Sr     A (fő) verem tetején levő értéket  leveszi  és  az  r  regiszter  vermébe
              helyezi. A regiszter előző értéke így elérhetetlen.

       Lr     Az  r regiszter verméből leveszi az elemet és a fő verembe helyezi. Ha az
              r regiszter vermében volt régebben valami  érték,  akkor  az  most  a  lr
              paranccsal elérhetővé válik.

PARAMÉTEREK
       A  dc  működését három paraméter befolyásolja: a pontosság, a beviteli alap és a
       kimeneti alap. A pontosság határozza meg, hogy  a  műveletek  eredményéből  hány
       tizedesjegy  maradjon  meg.  A beviteli alap mutatja meg, hogy a begépelt számok
       hányas számrendszerben vannak; minden  begépelt  szám  ebben  a  számrendszerben
       értelmeződik.   Számok   kiírásakor   a   számok   a   kimeneti   alap  szerinti
       számrendszerben íródnak ki.

       A beviteli és a kimeneti alapok  különböző  paraméterek,  nem  kell  feltétlenül
       egyenlőnek  lenniük; ez lehet hasznos és zavaró is.  A bemeneti alap legalább 2,
       legfeljebb  36  lehet.  A  kimeneti  alapnak  legalább  2-nek  kell  lennie.   A
       pontosságnak  nullának  vagy  nagyobbnak  kell lennie. A pontosság a beviteli és
       kimeneti alaptól függetlenül mindig tizedesjegyeket jelent.

       i      Leveszi a verem tetején levő számot és erre állítja a beviteli alapot.

       o      Leveszi a verem tetején levő számot és erre állítja a kimeneti alapot.

       k      Leveszi a verem tetején levő számot és erre állítja a pontosságot.

       I      Az aktuális beviteli alapot a verem tetejére helyezi.

       O      Az aktuális kimeneti alapot a verem tetejére helyezi.

       K      A pontosság aktuális értékét a verem tetejére helyezi.

KARAKTERLÁNCOK
       A dc képes karakterláncokat is kezelni. A  karakterláncokat  csak  tárolni  vagy
       makróként  végrehajtani  (azaz  a  tartalmuk dc parancsként értelmeződik) lehet.
       Karakterláncok tárolására minden regiszter és a verem is képes. Néhány  parancs,
       mint  például  az aritmetikai műveletek számokat várnak argumentumként, és hibát
       jeleznek,  ha  karakterláncot  találnak  helyette.  Más  parancsok   számot   és
       karakterláncot  is  elfogadnak;  ilyen  például  a  p  parancs,  ami mindegyiket
       elfogadja és a típusának megfelelő módon írja ki.

       [karakterek]
              A karakterek -et tartalmazó karakterláncot (azokat a karaktereket, amik [
              és  ]  karakterek  között  vannak)  tartalmazó  karakterláncot képez és a
              veremre helyezi. Például a [foo]P kiírja a foo szöveget és nem  ír  utána
              újsor karaktert.

       a      Leveszi   a  verem  legfelső  elemét.  Ha  ez  szám,  akkor  az  alacsony
              helyiértékű bájtját karakterré konvertálja és a verembe helyezi.   Ha  ez
              karakterlánc, akkor ennek első karakterét helyezi vissza a verembe.

       x      Leveszi  a  verem  legfelső  elemét  és  makróként  végrehajtja. Normális
              esetben ez az elem egy  karakterlánc;  ha  szám,  akkor  visszahelyezi  a
              verembe.  Például  a  [1p]x végrhajtja a 1p makrót, ami egy 1 -est tesz a
              verembe és új sorban kiírja az 1 -et.

       A makrókat leggyakrabban regiszterekben tároljuk; a [1p]sa az a regiszterbe tesz
       egy olyan makrót, ami egy 1 -est ír ki. A lax parancs hajtja végre ezt a makrót.

       >r     Leveszi  a  verem  két  felső  elemét,  feltételezi,  hogy  ezek  számok,
              összehasonlítja őket, és végrehajtja az r regiszterben lévő makrót, ha az
              eredetileg   a  verem  tetején  levő  szám  nagyobb.  Az  1  2>a  parancs
              végrehajtja az a regiszterben tárolt makrót, míg a 2 1>a parancs nem.

       <r     Hasonló, de akkor hajtja végre a makrót, ha az eredetileg a verem tetején
              levő szám kisebb.

       =r     Hasonló, de akkor hajtja végre a makrót, ha a két levett elem egyenlő.

       ?      Beolvas  egy  sort a terminálról és végrehajtja. Ezzel a paranccsal lehet
              felhasználói bevitelt kérni.

       q      Kilép a makróból és az azt hívó makróból is. Ha a legfelső szinten hajtod
              végre, a q parancs kilép a dc -ből.

       Q      Leveszi a verem legfelső elemét és ennyi szintet lép ki a makrókból.  A Q
              parancs soha nem lép ki a dc -ből.

ÁLLAPOTLEKÉRDEZÉS
       Z      Leveszi a verem tetején levő elemet, megszámolja  hány  jegyű  (ha  szám)
              vagy  hány  karakterből  áll  (ha  karakterlánc), és ezt a számot teszi a
              verembe.

       X      Leveszi a verem tetején levő elemet, megszámolja, hány tizedesjegye  van,
              majd ezt a számot teszi a verembe. Ha a levett elem karakterlánc, akkor 0
              -t tesz a verembe.

       z      A verembe teszi a  verem  aktuális  mélységét;  azt,  hogy  a  z  parancs
              végrehajtása előtt hány elem volt a veremben.

EGYÉB
       !      A sor többi részét mint rendszerparancsot futtatja.

       #      A sor többi részét megjegyzésként kezeli.

       :r     A  verem  két felső elemét leveszi. A második elemet az r tömbbe helyezi,
              amit az első elemmel indexel.

       ;r     Leveszi a verem felső  elemét  és  az  r  tömb  indexeként  használja.  A
              kiválasztott elem a verembe kerül.

MEGJEGYZÉSEK
       A  :  és  a  ;  tömbműveteket  általában  csak  a  bc hagyományos implementációi
       használják. (A GNU bc ezt tartalmazza, nem szükséges a futásához a dc. )

HIBÁK
       A hibákat e-mail-ben jelentsd a  bug-gnu-utils@prep.ai.mit.edu  címen.  A  levél
       tárgyában valahol legyen benne a ``dc'' szó.

MAGYAR FORDÍTÁS
       Tevesz Tamás <ice@rulez.org>

GNU Project                            1997-03-25                                 DC(1)

 

 

Súgó kimenet

dc --help
Usage: dc [OPTION] [file ...]
  -e, --expression=EXPR    evaluate expression
  -f, --file=FILE          evaluate contents of file
  -h, --help               display this help and exit
  -V, --version            output version information and exit

Email bug reports to:  bug-dc@gnu.org .

 

Kapcsolódó tartalom

 

Címkék