Какой дистрибутив Linux мне больше подходит [закрыто]

Если ввод иногда в ГБ, иногда в ТБ, я бы написал функцию для обработки обоих случаев (функции в руководстве GNU awk):

#!/usr/bin/awk -f
function num2gb(n) { 
    if (n ~ /T$/) return n * 1024;    # if TB, scale
    return n * 1;                     # else assume GB. * 1 converts to number
}  
{ printf "%.2f G\n", num2gb($1) }     # print, as an example

Then вы можете использовать функцию при чтении чисел из ввода, чтобы получить числа в ГБ:

/HDD Total/ { hdd_total = num2gb($NF) }
/HDD Used/ { hdd_used = num2gb($NF) }

Добавьте случаи для MB и PB, если требуется, и проверьте, ввод мыслит степенями 1024 или степенями 1000.

При выводе вы, конечно, можете выбрать множитель по своему усмотрению.

Вышеприведенный сценарий будет автономным сценарием awk, в командной строке вы должны сделать что-то вроде

$ somecmd | awk 'function num2gb(n) { if (n ~ /T$/) return n * 1024; return n*1; }  
   /some pattern/ { some action }
   /other pattern/ { something with num2gb($n) ... } '

0
08.02.2016, 15:45
0 ответов

Теги

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