| imho.ws |
![]() |
|
|
|
# 21 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Это происходит просто потому, что он awk для разделителя разрядов запятую ждет (наверное где-то можно поменять, влоб, сменой локали у меня не получилось) так что достаточно ее просто заменить (да и универсальнее решение получается, если известно что там число). В итоге я бы тоже на gawk сделал, общее решение у меня получилось такое (я за основу взял приведенное выше, но мне не понравилось, можно короче):
Код:
awk '{ printf "%s\t %.10g\n", $1, ($3 eq 'M' ? gensub("\\.", ",", "", $2)*1024*1024 : $2); }' LOG
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 22 |
|
Junior Member
Регистрация: 20.05.2002
Адрес: dp.ua
Сообщения: 98
![]() ![]() ![]() |
может и поздно, но мой скрипт делает все, что указано в тех задании
![]() Код:
#! /usr/bin/awk -f
BEGIN{ Kilo=1024; Mega=Kilo*Kilo; Giga=Mega*Kilo;}
{ value=0
if (NF < 2) next
if (NF < 3 ) value=$2
else {
if ($3 == "M") value=$2*Mega;
if ($3 == "G") value=$2*Giga;
if (value == 0) {next;}
}
printf "%s\t%20.4f\n", $1, value
}
Код:
if (NF < 2) next
и
if (value == 0) {next;}
проверено на www# uname -a FreeBSD www.home 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386 www#
__________________
"Люди не хотят жить вечно. Люди просто не хотят умирать..." (c) Станислав Лем. -- Для тех, кто не в курсе - все спасибо в репутацию или ПС. |
|
|
|
|
# 23 |
|
Moderator
Регистрация: 30.10.2003
Адрес: 2men'57°10'N65°33'E
Сообщения: 2 165
![]() |
Итак, вопрос знатокам. Есть машина на 4-м debian с двумя интерфейсами, которая в силу сложившихся обстоятельств выполняет роль шлюза и файлсервера. Есть демон ipcad, который считает весь проходящий трафик и кладёт его в файл ipcad.dump. У меня есть простенький скрипт traff.acc4, который обрабатывает файл дампа и выдаёт файл типа febstat. Мне кажется тут ещё трафик самбы примешан в кучу, как бы его отделить? Может кто-то более гибкий скрипт предложит?
Все три файла во вложении.
__________________
|
|
|
|
|
# 24 |
|
Administrator
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 063
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
самба по 139 порту идет вроде.
соответственно, добавить в скрипт grep -v " 139 " типа Код:
[11:44:27:/home/plague]$ cat febstat | grep -v " 139 "
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! ~~~~~~~~~~~~~~~~~~~~~~ The time has come it is quite clear, our antichrist is M.M.
|
|
|