私は、エクスポートされたデータから特定の "mroute"(マルチキャストルート)をスクリプト化しようとしているネットワークエンジニアです。私はこれを行うための最も "ピジョン"の道を理解しようとしています。マルチルートを解析する "Python"の方法
データは、この(私のネットワークに固有の何も、ちょうどラボ輸出)のようになります。
(*,224.0.0.0/4) RPF nbr: 96.34.35.36 Flags: C RPF P Up: 1w5d (*,224.0.0.0/24) Flags: D P Up: 1w5d (*,224.0.1.39) Flags: S P Up: 1w5d (96.34.246.55,224.0.1.39) RPF nbr: 96.34.35.36 Flags: RPF Up: 1w4d Incoming Interface List Bundle-Ether434 Flags: F A, Up: 1w4d Outgoing Interface List BVI100 Flags: F, Up: 1w4d TenGigE0/0/0/3 Flags: F, Up: 1w4d TenGigE0/0/1/1 Flags: F, Up: 1w4d TenGigE0/0/1/2 Flags: F, Up: 1w4d TenGigE0/0/1/3 Flags: F, Up: 1w4d TenGigE0/1/1/1 Flags: F, Up: 1w4d TenGigE0/1/1/2 Flags: F, Up: 1w4d TenGigE0/2/1/0 Flags: F, Up: 1w4d TenGigE0/2/1/1 Flags: F, Up: 1w4d TenGigE0/2/1/2 Flags: F, Up: 1w4d Bundle-Ether234 (0/3/CPU0) Flags: F, Up: 2d17h Bundle-Ether434 Flags: F A, Up: 1w4d (*,224.0.1.40) Flags: S P Up: 1w5d Outgoing Interface List TenGigE0/2/1/0 Flags: II, Up: 1w5d
私は特定の行はRegexときループは、インデックスのインクリメンタを上に移動するためにCスタイルを複製しようとしています。
「送信」セクションに特定の出力がある場合にのみ、マルチキャストグループを表示したいだけです。
私がこれまで試してみました何の恐ろしい例としては、(完全ではない、データがリストに渡される):任意のアドバイスを
myarray = []
myarray = output.split("\n")
max_count = len(myarray)
i= 0
while (i < max_count):
if (re.match(r"(^\()", myarray[i])):
group = myarray[i]
print group
i+=1
while (re.match(r'(?!^\()', myarray[i])):
if (re.match(r" Outgoing Interface List", myarray[i])):
outgoing = myarray[i]
print outgoing
i+=1
while (re.match(r'(?!^\()', myarray[i])):
print myarray[i]
i+=1
else:
i+=1
else:
i+=1
感謝を。
"was"はタイトルの "way"であるべきですか? –
うん、修正しました、ありがとう! –
これはうまくいきますが、もっとPythonの方法でやりたいのですか?おそらくこれは[codereview.SE](http://codereview.stackexchange.com/)にあるはずですか? –