Страница 1 из 1

Нужна помошь в grep

Добавлено: 2010-11-12 9:23:21
bdv99
Добрый день!
Вопрос состоит в следующем есть N количество строк нужно из этих строк выбрать те которые содержат в себе ip адрес и слово established и вывести их количество.
Написал такое выражение но в конце его работы выдается 0.

Код: Выделить всё

snmpwalk -v 1 -c public 172.24.202.62 tcpConnEntry | grep -E '172.24.202.62.777 established' -c 

Если писать так то значение выдает 0
Пробывал написать так но не уверен в его правильности

Код: Выделить всё

snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep 172.24.202.62.777 | grep established -c 
Что не так в этом выражении? Подскажите.

Re: Нужна помошь в grep

Добавлено: 2010-11-12 10:00:09
dmtr

Код: Выделить всё

snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep 172.24.202.62.777
так вывод не пустой?

Re: Нужна помошь в grep

Добавлено: 2010-11-12 11:10:41
bdv99
с таким запросом вывод не пустой.
надо чтоб именно в сборке 172.24.202.62.777 established искало.
остановился пока на этом варианте

Код: Выделить всё

snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep 172.24.202.62.777 | grep established -c 
Есть еще один вопрос потом это надо полученное значение вывести на графиг MRTG. :smile:
написал так

Код: Выделить всё

#!/bin/sh
/usr/local/bin/snmpwalk -v 1 -c Parameter nt2.npp tcpConnEntry | grep 172.24.202.62.777 | grep established -c
#echo "Port Spir 777"

Код: Выделить всё

SetEnv[NT2.777]: MRTG_INT_IP="172.24.202.62" MRTG_INT_DESCR="Traffic statistics on NT2 Port 777"
Title[NT2.777]: Traffic statistics on Port 777
Target[NT2.777]: `/usr/local/www/data/mrtg/run/nt2777.sh`
MaxBytes[NT2.777]: 150000
MaxBytes2[NT2.777]: 150000
Unscaled[NT2.777]: dwmy
PageTop[NT2.777]: <H1>statistics on Port 777</H1>
Но данные пока 0))

Re: Нужна помошь в grep

Добавлено: 2010-11-12 13:34:01
bdv99
Все я разобрался во всем.Тему можно закрывать.

Re: Нужна помошь в grep

Добавлено: 2010-11-12 13:54:19
FreeBSP
хорошим тоном считается рассказать о том как решил проблему, чтобы люди вставшие на те же грабли знали как решить проблему

Re: Нужна помошь в grep

Добавлено: 2010-11-15 23:51:53
BlackCat
bdv99 писал(а):Вопрос состоит в следующем есть N количество строк нужно из этих строк выбрать те которые содержат в себе ip адрес и слово established и вывести их количество.
Порядок "IP-адрес" "established" фиксированый?
bdv99 писал(а):Написал такое выражение но в конце его работы выдается 0.

Код: Выделить всё

snmpwalk -v 1 -c public 172.24.202.62 tcpConnEntry | grep -E '172.24.202.62.777 established' -c 
grep понял это выражение следующим образом: найти все строки содержащие подстроки "172.24.202.62.777" и "established" разделённые пробелом.
bdv99 писал(а):Пробывал написать так но не уверен в его правильности

Код: Выделить всё

snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep 172.24.202.62.777 | grep established -c 
Это как раз наиболее правильный вариант: найти все строки содержащие "172.24.202.62.777" и "established".
При фиксированом порядке в одно выражение это можно записать вот так:

Код: Выделить всё

grep "172[.]24[.]202[.]62[.]777.*established" -c
Обратите внимание на заключение точки в фигурные скобки, иначе она будет пониматься, как "любой символ".

Re: Нужна помошь в grep

Добавлено: 2010-11-17 15:14:47
bdv99
Сейчас опишу как решил проблему.
по поводу выражения в скрипте написал так

Код: Выделить всё

/usr/local/bin/snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep '172\.24\.202\.62.777.*established' -c 
затем написал конфиг мртг который строил графики по текущим значениям но так ка в мртг требовал 2 значения IN,OUT скрипт модернизировал таким образом

Код: Выделить всё

#!/bin/sh
/usr/local/bin/snmpwalk -v 1 -c Parameter 172.24.202.62 tcpConnEntry | grep '172\.24\.202\.62.777.*established' -c 
echo 0
После этого все заробатало но данные начали заносится в лог мртг но сам график не строился, немного покапался и нашел что в конфиге графика который необходимо вывести нужно дописать один параметр он отвечает за вывод текущего значения
вышло так

Код: Выделить всё

Target[777]: `/usr/local/www/data/mrtg/run/nt2777.sh`
Title[777]: Traffic statistics on  Port 777 Established 
PageTop[777]: <H1>statistics on Port 777 Established</H1>
MaxBytes[777]: 150000
ShortLegend[777]: c/s
YLegend[777]: Conns / Min
LegendI[777]: In
LegendO[777]: Out
Legend1[777]: New inbound connections
Legend2[777]: New outbound connections
Options[777]: growright,nopercent,perminute,gauge