bscalc - справочное руководство, опции, примеры команд


ИМЯ

ОПИСАНИЕ

Цель этого проекта — предоставить маленькую библиотеку, которая упростила бы обычные операции с размерами в байтах. Многие проекты должны работать с размерами в байтах (будь то размеры дискового пространства, памяти и т. д.), и все они должны решать одни и те же проблемы, такие как:

  • Как получить удобочитаемую строку для заданного размера?

  • Как сохранить заданный размер, чтобы не потерять важную информацию?

  • Если мы сохраним размер в байтах, что, если данный размер превысит значение MAXUINT64?

  • Как интерпретировать размеры, введенные пользователями, в соответствии с их локалью и правилами набора текста?

  • Как справиться с неоднозначностью десятичных/двоичных единиц (МБ против МиБ)?

В некоторых проектах все вышеперечисленные вопросы/проблемы решены хорошо, в некоторых они решены частично, некоторым просто все равно. Однако иметь (частичные) решения, реализованные в нескольких местах каждый раз с другим набором ошибок, различиями в поведении и тем или иным отсутствием, — это пустая трата времени и усилий. Нам нужно общеупотребительное решение, которое можно было бы использовать в каждом проекте, где необходимо иметь дело с размерами в байтах.

Поскольку цель состоит в том, чтобы предоставить решение, максимально пригодное для общего использования, реализация должна быть небольшой, быстрой и написанной на языке, который можно легко интегрировать с другими языками. В настоящее время очевидным выбором является язык 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

Показать результат в КиБ

-m, -M, --MiB

Показать результат в МиБ

-g, -G, --GiB

Показать результат в ГиБ

-t, -T, --TiB

Показать результат в ТиБ

-p, -P, --PiB

Показать результат в PiB

-e, -E, --EiB

Показать результат в EiB

--KB

Показать результат в КБ

--MB

Показать результат в МБ

--GB

Показать результат в ГБ

--TB

Показать результат в ТБ

--PB

Показать результат в PB

--EB

Показать результат в EB

-H, --human-readable

Показать только один «лучший» результат

Сообщайте о проблемах на странице https://github.com/storaged-project/libbytesize/issues.

ПРИМЕРЫ

1. Преобразование 1000000000000 байт в более высокие единицы:

bscalc 1000000000000

Выход:

1000000000000 B
 976562500.00 KiB
    953674.32 MiB
       931.32 GiB
         0.91 TiB

2. Преобразуйте 1000000000000 байт в наиболее подходящую единицу измерения:

bscalc -H 1000000000000

Выход:

931.32 GiB