KaraVan Posted March 27, 2014 Posted March 27, 2014 Коллеги, приветствую! Пытаюсь написать tcl скрипт для обработки звонков на Cisco и столкнулся с дурацкой проблемой. Дано: ANI вида "74957777777", надо получить из него "7777777", т.е. оставить последние n-знаков, а остальное отрезать. Ситуация осложняется тем что ANI может быть вида "4957777777" или "+74957777777", т.е. предугадать кол-во символов сложно. Есть идеи как чистить ANI элегантнее? Вставить ник Quote
lumenok Posted March 29, 2014 Posted March 29, 2014 Из tcl вызвать внешнюю команду и обработать sed'ом echo "+749577777" | sed s'/^+7//'g Вставить ник Quote
KaraVan Posted March 30, 2014 Author Posted March 30, 2014 Увы, в качестве платформы - IOS, не думаю что это возможно. Вставить ник Quote
Morze Posted March 31, 2014 Posted March 31, 2014 lumenok Неверно, оно у вас только +7 отрежет, ТС нужно чтото вроде echo "+74957777777" | sed 's/^.*\(.......\)$/\1/' где n - число точек. Вставить ник Quote
Morze Posted March 31, 2014 Posted March 31, 2014 (edited) KaraVan В TCL будет чтото типа set num "+74957777777" regexp {^.*\(.\{7\}\)$} $num matched sub1 puts $sub1 Edited March 31, 2014 by Morze Вставить ник Quote
KaraVan Posted April 1, 2014 Author Posted April 1, 2014 Morze, спасибо за наводку, попробую! Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.