новичок, нетмико из bash awk sed вопрос - PullRequest
0 голосов
/ 08 ноября 2018

Привет.

Я понимаю, что питон не оболочка.Я использую этот проект как оправдание, чтобы получить толчок в Python, хотя.Но я застрял.Код ниже со встроенными вопросами

Если это имеет значение, я работаю в ноутбуке jupyter на python 3. Что-то на коммутаторах centos7 и cisco 3650.

import sys,re
import os
import io
import subprocess

from netmiko import ConnectHandler

# trying to replicate this:
# ssh -q super@cisco1 "show ver" | grep -i "Cisco IOS Software" | sed -n     -e 's/^.*Version //p' | sed -n -e 's/\,.*//p'
# [output is, in this case] 
# 16.3.5b

platform = 'cisco_ios'
host = 'cisco1'
username = 'super'
password = 'sillypassword'

device= ConnectHandler(device_type=platform, ip=host, username=username, password=password)
out_version=device.send_command('show version')

# here's where I would do a 
#     grep -i "Cisco IOS Software" | sed -n     -e 's/^.*Version //p' | sed -n -e 's/\,.*//p'
# 
# However I understand that python doesn't 'pipe' like shell does so I need
# embedded loops (right?).  But I don't understand how to do 
# embedded loops with a stream of text that will be coming out 
# of the device.send_command, and then save -that- into the 
# variable out_version.

device.disconnect()

Я пробовалколичество подходов, popens, подстрок, каждый из которых становится все более уродливым.Даже обстреливая и записывая файл с результатом, затем читая вывод трубы grep / sed обратно (это было ужасно).Должен быть более простой способ.Может кто-нибудь направить меня в правильном направлении?

Большое спасибо.

1 Ответ

0 голосов
/ 12 ноября 2018

Вам, вероятно, стоит заглянуть в библиотеку сетевых инструментов, в которой есть небольшой набор инструментов командной строки, использующих Netmiko. Одним из таких инструментов является netmiko-grep. Смотрите здесь:

https://pynet.twb -tech.com / блог / автоматизация / netmiko-grep.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...