The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите разобрать строку"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Помогите разобрать строку"  +/
Сообщение от Dark Smoke (ok) on 05-Дек-14, 15:47 
Добрый день
второй день сижу, не могу одним махом разобрать строку.
есть строка

connected to: localhost
insert  query update delete getmore command flushes mapped  vsize    res faults  locked db idx miss %     qr|qw   ar|aw  netIn netOut  conn  set repl       time
    *0     *0     *0     *0       0     3|0       0  98.1g   198g  4.86g      0 local:0.0%          0       0|0     0|0   263b     7k    40 crm1  PRI   14:43:50

хочу в результате получить

insert 0
query 0
update 0
...
vsize 198

Сечас делаю так

MAPPED=`$MONGOSTAT -h $HOST -u $USER  -p $PASS | /bin/grep -E "[[:digit:]]" | /bin/awk '{print $8}'`
METRIC=`echo $MAPPED | /bin/sed -r 's/[0-9]|\.//g'`
NUM=`echo $MAPPED | /bin/sed -r 's/[a-zA-Z]//g' | /bin/sed -r 's/\./,/g'`
a=$(metric $NUM $METRIC)
echo "mapped $a"

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

Хотелось бы на Shell'e или pythn'e

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите разобрать строку"  +/
Сообщение от Dark Smoke (ok) on 05-Дек-14, 16:42 
Нашел решение в виде, превратить в строку и с помощью авк разбирать
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогите разобрать строку"  +/
Сообщение от Andrey Mitrofanov on 05-Дек-14, 16:50 
>  а надо что бы команда вызвалась один раз и разобралась
> так как надо.

$ text
connected to: localhost
insert  query update delete getmore command flushes mapped  vsize    res faults  locked db idx miss %     qr|qw   ar|aw  netIn netOut  conn  set repl       time
    *0     *0     *0     *0       0     3|0       0  98.1g   198g  4.86g      0 local:0.0%          0       0|0     0|0   263b     7k    40 crm1  PRI   14:43:50
$ text |awk '$1=="insert"{sub("locked db","locked-db");sub("idx miss %","idx-miss-%");getline s;$0=$0" "s;gsub(" +","\n");print;exit}' |awk '{mx[++n]=$0}END{h=int(n/2);for(i=1;i<=h;i++)print mx[i]" "mx[i+h]}'
insert *0
query *0
update *0
delete *0
getmore 0
command 3|0
flushes 0
mapped 98.1g
vsize 198g
res 4.86g
faults 0
locked-db local:0.0%
idx-miss-% 0
qr|qw 0|0
ar|aw 0|0
netIn 263b
netOut 7k
conn 40
set crm1
repl PRI
time 14:43:50
$ _

> Хотелось бы на Shell'e или pythn'e

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру