bscalc - kézikönyv, opciók, parancspéldák


NÉV

LEÍRÁS

Ennek a projektnek az a célja, hogy egy kis könyvtárat biztosítson, amely megkönnyítené a bájtokban mért általános műveleteket. Sok projektnek a bájtokban megadott méretekkel kell dolgoznia (legyen szó tárterületről, memóriáról stb.), és mindegyiknek ugyanazokkal a problémákkal kell foglalkoznia, mint például:

  • Hogyan szerezzünk ember által olvasható karakterláncot a megadott mérethez?

  • Hogyan tároljuk a megadott méretet úgy, hogy ne vesszen el jelentős információ?

  • Ha a méretet bájtban tároljuk, mi van, ha az adott méret meghaladja a MAXUINT64 értéket?

  • Hogyan kell értelmezni a felhasználók által beírt méreteket a területi beállítások és a gépelési szokások szerint?

  • Hogyan kezeljük a decimális/bináris egységek (MB vs. MiB) kétértelműségét?

Egyes projektek a fenti kérdéseket/aggályokat jól megválaszolják, vannak olyanok, amelyek részben megválaszolták őket, és vannak, amelyek egyszerűen nem érdekelnek. Azonban a (rész)megoldások több helyen való megvalósítása minden alkalommal más-más hibakészlettel, viselkedésbeli különbségekkel és ennek hiányával idő- és erőfeszítéspazarlás. Szükségünk van egy általánosan használható megoldásra, amelyet minden olyan projekt használhat, amelynek a bájtban megadott méretekkel kell foglalkoznia.

Mivel a cél az, hogy minél általánosabban használható megoldást nyújtsunk, az implementációnak kicsinek, gyorsnak kell lennie, és olyan nyelven kell megírni, amely könnyen illeszthető más nyelvekről. A jelenlegi kézenfekvő választás a C nyelv vékony kötésekkel más nyelvekhez.

SZINOPSZIS

bscalc [-h] [--version] [-u {B,KiB,MiB,GiB,TiB,PiB,EiB,KB,MB,GB,TB,PB,EB}] [-b] [-k] [-m] [-g] [-t] [-p] [-e] [--KB] [--MB] [--GB] [--TB] [--PB] [--EB] [-H] EXPRESSION_PART [EXPRESSION_PART ...]

HASZNÁLAT

bscalc [OPTIONS] EXPRESSION_PART [EXPRESSION_PART ...]

Ahol az EXPRESSION_PART pozíciós argumentumok.

LEHETŐSÉGEK

-h, --help

jelenítse meg ezt a súgóüzenetet, és lépjen ki

--version

mutasd meg a program verziószámát és lépj ki

-u {B,KiB,MiB,GiB,TiB,PiB,EiB,KB,MB,GB,TB,PB,EB}, --unit {B,KiB,MiB,GiB,TiB,PiB,EiB,KB,MB,GB,TB,PB,EB}

Mértékegység az eredmény megjelenítéséhez

-b, -B

Eredmény megjelenítése bájtban

-k, -K, --KiB

Eredmény megjelenítése KiB-ben

-m, -M, --MiB

Eredmény megjelenítése MiB-ben

-g, -G, --GiB

Eredmény megjelenítése GiB-ban

-t, -T, --TiB

Eredmény megjelenítése TiB-ben

-p, -P, --PiB

Eredmény megjelenítése PiB-ben

-e, -E, --EiB

Eredmény megjelenítése EiB-ben

--KB

Eredmény megjelenítése KB-ban

--MB

Eredmény megjelenítése MB-ban

--GB

Eredmény megjelenítése GB-ban

--TB

Eredmény megjelenítése TB-ben

--PB

Eredmény megjelenítése PB-ben

--EB

Eredmény megjelenítése EB-n

-H, --human-readable

Csak egyetlen „legjobb” eredmény megjelenítése

Jelentse a problémákat a https://github.com/storaged-project/libbytesize/issues címen

PÉLDÁK

1. 1000000000000 bájt konvertálása magasabb egységekre:

bscalc 1000000000000

Kimenet:

1000000000000 B
 976562500.00 KiB
    953674.32 MiB
       931.32 GiB
         0.91 TiB

2. Alakítsa át 1000000000000 bájtot a legmegfelelőbb magasabb egységre:

bscalc -H 1000000000000

Kimenet:

931.32 GiB