|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
Доброго дня. Есть технически сложное оборудование, с которого можно получить информацию через telnet. Задача распарсить полученный ответ в таблицу (файл в аттаче по ответу с одной железки, а их много). В данном примере на оборудование посланы три команды ZQRI:BCXU::VLAN700:; ZQRI:BCXU::VLAN701:; ZQRI:ETME::VLAN23; и по ним получен ответ. Т.к. платы на оборудовании могут свичернуться, то IP адрес перейдет на другую плату. В идеале парсить ответ оборудования сразу в таблицу на лету. Но с этим пока сложно, нужно распарсить хотя бы файл, а потом попытаться работать на лету :) Минимум, который хотелось бы получить на выходе. mcBSCUNITADMIN STATE INTERFACEIP ADDRESSNBSC01BCXU-0 UPVLAN700NBSC01BCXU-1UPVLAN700NBSC01BCXU-2UPVLAN70010.42.128.73/28NBSC01BCXU-3UPVLAN70010.42.128.72/28---------------NBSC01BCXU-0 UPVLAN701NBSC01BCXU-1UPVLAN701NBSC01BCXU-2UPVLAN70110.42.128.89/28NBSC01BCXU-3UPVLAN70110.42.128.88/28---------------NBSC01ETME-0UPVLAN23NBSC01ETME-1UPVLAN2310.0.3.4/25NBSC01ETME-2UPVLAN2310.0.3.1/25NBSC01ETME-3UPVLAN2310.0.3.3/25NBSC01ETME-4UPVLAN2310.0.3.5/25 Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 11:54 |
|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
Архимедофф, для наглядности заменила пробелы на подчеркивание и убрала пустые строки LOADING_PROGRAM_VERSION_27.96-0 mcBSC_____NBSC01_________________2019-02-16__10:50:55 INTERROGATING_NETWORK_INTERFACE_DATA UNIT_________ADMIN_______ADDR __INTERFACE__STATE_MTU___ATTR_____IP_ADDRESS ------_-----_-----_--_--------------- ETME-0_____________ __VLAN23_____UP____1500____________________ ___->IFETH0____23___0/0____________________ ETME-1_____________ __VLAN23_____UP____1500__LI______(10.0.3.4/25)_________ ____________________________________EEP_____________ ___->IFETH0____23___0/0____________________ ETME-2_____________ __VLAN23_____UP____1500__LI______(10.0.3.1/25)_________ ____________________________________EEP_____________ ___->IFETH0____23___0/0____________________ ETME-3_____________ __VLAN23_____UP____1500__LI______(10.0.3.3/25)_________ ____________________________________EEP_____________ ___->IFETH0____23___0/0____________________ ETME-4_____________ __VLAN23_____UP____1500__LI______(10.0.3.5/25)_________ ____________________________________EEP_____________ ___->IFETH0____23___0/0____________________ COMMAND_EXECUTED надо получить SCUNITADMIN STATEINTERFACEIP ADDRESSNBSC01BCXU-0 UPVLAN700NBSC01BCXU-1UPVLAN700NBSC01BCXU-2UPVLAN70010.42.128.73/28NBSC01BCXU-3UPVLAN70010.42.128.72/28 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 12:47 |
|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
Чего тут сложного? Строки с фиксированной шириной полей. 1. Грузим строки в табличку целиком. 2. Пишем разбиралку для одной строки на VBA или запросом. Как умеешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 16:50 |
|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
aleks222Чего тут сложного? Строки с фиксированной шириной полей. 1. Грузим строки в табличку целиком. 2. Пишем разбиралку для одной строки на VBA или запросом. Как умеешь.у него то, что должно попасть в одну таблицу результата - в 2-х последовательных строках файла а значение для 1-го поля (mcBSC) так вообще, в "шапке" таблицы, один раз ... Код: vbnet 1. 2. 3. 4.
имхо, тут таблицы/запросы не помогут. Тут тупо : "запрягся" и пошел парсить в VBA, построчно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 17:37 |
|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
courtaleks222Чего тут сложного? Строки с фиксированной шириной полей. 1. Грузим строки в табличку целиком. 2. Пишем разбиралку для одной строки на VBA или запросом. Как умеешь.у него то, что должно попасть в одну таблицу строку результата - в 2-х последовательных строках файла а значение для 1-го поля (mcBSC) так вообще, в "шапке" таблицы, один раз ... Код: vbnet 1. 2. 3. 4.
имхо, тут таблицы/запросы не помогут. Тут тупо : "запрягся" и пошел парсить в VBA, построчно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 17:44 |
|
Распарсить не стандартный текстовый файл. Ответ оборудования через телнет.
|
|||
---|---|---|---|
#18+
court, Получается достать, двигаясь сверху вниз и загоняя нужные данне в переменные. Не уверен что код красивый, но тем не менее. И да, чуть переделал свою хотелку сверху. Результат удовлетворяет. Советы на подточить код - принимаются :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 17:54 |
|
|
start [/forum/topic.php?fid=45&fpage=36&tid=1610842]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 324ms |
total: | 452ms |
0 / 0 |