Как конвертировать Kilobytes в мегабайты или гигабайты через терминал?

Мне всегда было очень полезно добавить новое правило для устройства, как это говорится на веб-сайте android

http://developer.android.com/guide/developing/device.html

LG составляет 1004

1
задан 25 April 2014 в 08:38

2 ответа

Если размер задан в Kilobytes, вам нужно вычислить встроенные выражения Bash. Предполагая размер блока = 512B, вам нужно набрать:

echo $[`fdisk -s /dev/sda`*512/1024]

Это покажет размер диска в KiB. Чтобы продолжить, просто добавьте /1024 в конец выражения:

echo $[`fdisk -s /dev/sda`*512/1024/1024]

Это покажет размер диска в MiB и т. Д.

1
ответ дан 24 May 2018 в 08:39
  • 1
    Красиво сделано. В качестве незначительной заметки формат $[...] устарел и, как говорит man bash, «будет удалено в следующих версиях». В настоящее время предпочтительным форматом для арифметики оболочки является $((...)). – John1024 25 April 2014 в 09:37
  • 2
    @ John1024 спасибо за примечание. Не предполагал, что синтаксис двойных скобок подходит. – Danatela 25 April 2014 в 09:44

В awk

Чтобы найти размер диска в мегабайтах,

$ sudo fdisk -s /dev/sda | awk '{$1=$1/1024; print $1,"MB";}'
953870 MB

Чтобы найти размер диска в гигабайтах,

$ sudo fdisk -s /dev/sda | awk '{$1=$1/(1024^2); print $1,"GB";}'
931.513 GB
0
ответ дан 24 May 2018 в 08:39
  • 1
    вместо sudo fdisk -s /dev/sda вы можете использовать df | grep ^\/dev.*/\$ – Dean Rather 20 June 2015 в 00:53

Другие вопросы по тегам:

Похожие вопросы: