bscalc - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

คำอธิบาย

เป้าหมายของโครงการนี้คือการจัดหาไลบรารีขนาดเล็กที่จะอำนวยความสะดวกในการดำเนินการทั่วไปโดยมีขนาดเป็นไบต์ หลายโปรเจ็กต์ต้องทำงานกับขนาดเป็นไบต์ (ไม่ว่าจะเป็นขนาดพื้นที่เก็บข้อมูล หน่วยความจำ...) และทุกโปรเจกต์ต้องจัดการกับปัญหาเดียวกัน เช่น:

  • วิธีรับสตริงที่มนุษย์อ่านได้สำหรับขนาดที่กำหนด

  • จะจัดเก็บขนาดที่กำหนดอย่างไรเพื่อไม่ให้ข้อมูลสำคัญสูญหาย

  • หากเราเก็บขนาดเป็นไบต์ จะเกิดอะไรขึ้นหากขนาดที่กำหนดเกินค่า MAXUINT64

  • จะตีความขนาดที่ป้อนโดยผู้ใช้ตามสถานที่และรูปแบบการพิมพ์ได้อย่างไร

  • วิธีจัดการกับความกำกวมของหน่วยทศนิยม/ไบนารี (MB เทียบกับ MiB)

บางโครงการมีการตอบคำถาม/ข้อกังวลข้างต้นทั้งหมดเป็นอย่างดี บางโครงการได้รับการกล่าวถึงเพียงบางส่วน บางโครงการก็ไม่สนใจ อย่างไรก็ตาม การนำโซลูชัน (บางส่วน) ไปใช้งานในหลายๆ แห่งทุกครั้งที่มีข้อบกพร่องที่แตกต่างกัน พฤติกรรมที่ต่างกัน และสิ่งนี้หรือบางอย่างที่ขาดหายไปนั้นเป็นการเสียเวลาและความพยายามไปโดยเปล่าประโยชน์ เราต้องการโซลูชันที่ใช้งานได้ทั่วไปซึ่งทุกโครงการสามารถใช้กับขนาดเป็นไบต์ได้

เนื่องจากเป้าหมายคือการจัดหาโซลูชันที่ใช้งานได้ทั่วไปมากที่สุดเท่าที่จะเป็นไปได้ การนำไปใช้จึงต้องมีขนาดเล็ก รวดเร็ว และเขียนด้วยภาษาที่สามารถเชื่อมต่อกับภาษาอื่นได้ง่าย ตัวเลือกที่ชัดเจนในปัจจุบันคือภาษา C ที่มีการผูกแบบบางสำหรับภาษาอื่น

เรื่องย่อ

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

การใช้งาน

bscalc [OPTIONS] EXPRESSION_PART [EXPRESSION_PART ...]

โดยที่ EXPRESSION_PART เป็นอาร์กิวเมนต์ตำแหน่ง

ตัวเลือก

-h, --help

แสดงข้อความช่วยเหลือนี้และออก

--version

แสดงหมายเลขเวอร์ชันของโปรแกรมและออก

-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}

หน่วยแสดงผลเป็น

-b, -B

แสดงผลเป็นไบต์

-k, -K, --KiB

แสดงผลเป็น KiB

-m, -M, --MiB

แสดงผลเป็น MiB

-g, -G, --GiB

แสดงผลเป็น GiB

-t, -T, --TiB

แสดงผลเป็น TiB

-p, -P, --PiB

แสดงผลเป็น PiB

-e, -E, --EiB

แสดงผลเป็น EiB

--KB

แสดงผลเป็น KB

--MB

แสดงผลเป็น MB

--GB

แสดงผลเป็น GB

--TB

แสดงผลเป็นวัณโรค

--PB

แสดงผลเป็น PB

--EB

แสดงผลเป็น EB

-H, --human-readable

แสดงผล 'ดีที่สุด' เพียงรายการเดียว

รายงานปัญหาที่ https://github.com/storaged-project/libbytesize/issues

ตัวอย่าง

1. แปลง 10,00000000000 ไบต์เป็นหน่วยที่สูงขึ้น:

bscalc 1000000000000

เอาท์พุต:

1000000000000 B
 976562500.00 KiB
    953674.32 MiB
       931.32 GiB
         0.91 TiB

2. แปลง 10,00000000000 ไบต์เป็นหน่วยที่สูงขึ้นที่เหมาะสมที่สุด:

bscalc -H 1000000000000

เอาท์พุต:

931.32 GiB