KaraVan Posted March 27, 2014 Коллеги, приветствую! Пытаюсь написать tcl скрипт для обработки звонков на Cisco и столкнулся с дурацкой проблемой. Дано: ANI вида "74957777777", надо получить из него "7777777", т.е. оставить последние n-знаков, а остальное отрезать. Ситуация осложняется тем что ANI может быть вида "4957777777" или "+74957777777", т.е. предугадать кол-во символов сложно. Есть идеи как чистить ANI элегантнее? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lumenok Posted March 29, 2014 Из tcl вызвать внешнюю команду и обработать sed'ом echo "+749577777" | sed s'/^+7//'g Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
KaraVan Posted March 30, 2014 Увы, в качестве платформы - IOS, не думаю что это возможно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morze Posted March 31, 2014 lumenok Неверно, оно у вас только +7 отрежет, ТС нужно чтото вроде echo "+74957777777" | sed 's/^.*\(.......\)$/\1/' где n - число точек. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morze Posted March 31, 2014 (edited) KaraVan В TCL будет чтото типа set num "+74957777777" regexp {^.*\(.\{7\}\)$} $num matched sub1 puts $sub1 Edited March 31, 2014 by Morze Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
KaraVan Posted April 1, 2014 Morze, спасибо за наводку, попробую! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...