URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87433
[ Назад ]

Исходное сообщение
"Grep. Взятие последних двух символов строки."

Отправлено AnyFreeName , 26-Ноя-09 10:22 
Добрый день.

Команда возвращает строку "blabla bubu: 74"

Как бы грепом отрезать последние 2 цифры?

Извиняюсь за простой вопрос, но моя глупый и убунта стоит второй день.


Содержание

Сообщения в этом обсуждении
"Grep. Взятие последних двух символов строки."
Отправлено Pahanivo , 26-Ноя-09 10:32 
>Добрый день.
>
>Команда возвращает строку "blabla bubu: 74"
>
>Как бы грепом отрезать последние 2 цифры?
>
>Извиняюсь за простой вопрос, но моя глупый и убунта стоит второй день.
>

в твоем случае awk '{print $3}'


"Grep. Взятие последних двух символов строки."
Отправлено AnyFreeName , 26-Ноя-09 11:07 
Не совсем то.

Обрисую конкретнее.

export $A="snmpwalk ip trap"

if [ "$A" -gt 50]; then mail ... and so on

Пока что в А кладеться вся строка которую возвращает snmpwalk. А нужно только две последнии цифры.


>[оверквотинг удален]
>>Добрый день.
>>
>>Команда возвращает строку "blabla bubu: 74"
>>
>>Как бы грепом отрезать последние 2 цифры?
>>
>>Извиняюсь за простой вопрос, но моя глупый и убунта стоит второй день.
>>
>
>в твоем случае awk '{print $3}'


"Grep. Взятие последних двух символов строки."
Отправлено Slavaz , 26-Ноя-09 11:09 
>Не совсем то.
>
>Обрисую конкретнее.
>
>export $A="snmpwalk ip trap"
>
>if [ "$A" -gt 50]; then mail ... and so on
>
>Пока что в А кладеться вся строка которую возвращает snmpwalk. А нужно
>только две последнии цифры.

sed 's/.*\(\S*\s*\S*\s*\)$/\1/'



"Grep. Взятие последних двух символов строки."
Отправлено Pahanivo , 26-Ноя-09 11:46 
>>Не совсем то.

вообще для разбора и анализа строк крайне советую юзать perl - ибо он для этого создавался.


"Grep. Взятие последних двух символов строки."
Отправлено AnyFreeName , 26-Ноя-09 11:58 
Ребят

export A="snmpwalk -c KDBESoe -v 2c 192.168.5.150"

Кладет в $А строку "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46"

Какие манипуляции нужно произвести с A, что бы echo $A выдавало только последние две цифры? В данном случае 46.


"Grep. Взятие последних двух символов строки."
Отправлено Pahanivo , 26-Ноя-09 12:20 
>Ребят
>
>export A="snmpwalk -c KDBESoe -v 2c 192.168.5.150"
>
>Кладет в $А строку "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46"
>
>Какие манипуляции нужно произвести с A, что бы echo $A выдавало только
>последние две цифры? В данном случае 46.

echo "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46" | sed -E 's/.*[[:space:]]+([[:digit:]]+)$/\1/'

и учись уже сам работать головой ...

пожалуйсто!


"Grep. Взятие последних двух символов строки."
Отправлено LujkLos , 26-Ноя-09 13:22 
>Ребят
>
>export A="snmpwalk -c KDBESoe -v 2c 192.168.5.150"
>
>Кладет в $А строку "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46"
>
>Какие манипуляции нужно произвести с A, что бы echo $A выдавало только
>последние две цифры? В данном случае 46.

Перестаньте заниматься сексом в извращенной форме, лучше инструкции читайте.
man snmpcmd в секции OUTPUT OPTIONS там ключей то всего 16 штук 2 минуты на перебрать потребуется.
Команада snmpwalk с ключами -Onsqv - может возвращать только значение переменной.
Вот вам и решение


"Grep. Взятие последних двух символов строки."
Отправлено AnyFreeName , 26-Ноя-09 13:32 
LujkLos, *смущенно смотрит в пол и ковыряет его мыском ботинка.

>[оверквотинг удален]
>>Кладет в $А строку "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46"
>>
>>Какие манипуляции нужно произвести с A, что бы echo $A выдавало только
>>последние две цифры? В данном случае 46.
>
>Перестаньте заниматься сексом в извращенной форме, лучше инструкции читайте.
>man snmpcmd в секции OUTPUT OPTIONS там ключей то всего 16 штук
>2 минуты на перебрать потребуется.
>Команада snmpwalk с ключами -Onsqv - может возвращать только значение переменной.
>Вот вам и решение


"Grep. Взятие последних двух символов строки."
Отправлено Amator , 26-Ноя-09 14:39 
>[оверквотинг удален]
>>Кладет в $А строку "enterprises.9.9.13.1.3.1.3.1005 = Gauge32: 46"
>>
>>Какие манипуляции нужно произвести с A, что бы echo $A выдавало только
>>последние две цифры? В данном случае 46.
>
>Перестаньте заниматься сексом в извращенной форме, лучше инструкции читайте.
>man snmpcmd в секции OUTPUT OPTIONS там ключей то всего 16 штук
>2 минуты на перебрать потребуется.
>Команада snmpwalk с ключами -Onsqv - может возвращать только значение переменной.
>Вот вам и решение

достаточно
snmpwalk -OQvn -v 2c -c KDBESoe 192.168.5.150


"Grep. Взятие последних двух символов строки."
Отправлено LukLos , 26-Ноя-09 20:25 
>[оверквотинг удален]
>>>последние две цифры? В данном случае 46.
>>
>>Перестаньте заниматься сексом в извращенной форме, лучше инструкции читайте.
>>man snmpcmd в секции OUTPUT OPTIONS там ключей то всего 16 штук
>>2 минуты на перебрать потребуется.
>>Команада snmpwalk с ключами -Onsqv - может возвращать только значение переменной.
>>Вот вам и решение
>
>достаточно
>snmpwalk -OQvn -v 2c -c KDBESoe 192.168.5.150

Тогда уж сократим до
>snmpwalk -OQv -v 2c -c KDBESoe 192.168.5.150

так как параметр n преобразовывает в числовой вид OID, который тут не выводится :-)