|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Kirill Nuzhdin 2:5020/400 27 Apr 2005 13:57:32 To : Yaroslav Snisar Subject : Re: ipfw > script on shell -------------------------------------------------------------------------------- Yaroslav Snisar wrote: > Yaroslav Snisar пишет: > >> Есть штука вывода количества Мб. Проблема в том что при обычном >> просмотре скриптом выводится после числа большое количество нулей. Как >> избежать этого? >> Вот скрипт: >> >> # #!/bin/sh >> # traffic=`ipfw show | grep 00103 | awk '{ print $3 }'` >> # echo $traffic > > > Рассказываю многоуважаемому олл всё :) > > #ipfw add 00501 count all from any to 10.102.5.10 > #ipfw add 00502 count all from 10.102.5.10 to any > > > #!/bin/sh > traffic_in=`ipfw show | grep 00501 | awk '{ print $3 }'` > traffic_out=`ipfw show | grep 00502 | awk '{ print $3 }'` > gib=`echo "($traffic_in + $traffic_out) / 1000000" | bc -l` > mon=`echo "$gib * 0.30" | bc -l` > echo $traffic_in > /var/www/html/billing/log/00501.txt > echo $traffic_in > /var/www/html/billing/log/00502.txt > echo $gib > /var/www/html/billing/log/00501-2-all.txt > echo $mon > /var/www/html/billing/log/00501-2-mon.txt > ... > > Как видно из скрипта в файл кидается уже цифра округлённая, т.е. в Мб > Далее скриптяка запускается кроном. Скидывается в > /var/www/html/billing/log. В директории выше есть файлик index.shtm, > который выводит инфу о траффике средствами SSI. > Hе спорю способ трудоёмкий, и не рентабельный/не перспективный, но на > чём то следует учиться ;) > > Собственно проблема в том что, та циферка, которую скидывает скриптик, в > файлик, имеет приблизительно такой вид: > .64087100000000000000 > > Собственно: как урезать последнии нули? %) ядрен-батон, авком: #!/usr/bin/awk -f BEGIN{ "/sbin/ipfw show 501" | getline traf_in = $3 "/sbin/ipfw show 502" | getline traf_out = $3 gib = (traf_in + traf_out)/1000000 mon = gib * 0.3 print traf_in > "/var/www/html/billing/log/00501.txt" print traf_out > "/var/www/html/billing/log/00502.txt" print gib > "/var/www/html/billing/log/00501-2-all.txt" print mon > "/var/www/html/billing/log/00501-2-mon.txt" } если нужна какая-то определенная точность пишешь, например: printf("%20.10f\n", traf_in) > "/var/www/html/billing/log/00501.txt" -- Best regards, Kirill Nuzhdin --- ifmail v.2.15dev5.3 * Origin: MSU (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577b04fa8ab.html, оценка из 5, голосов 10
|