これはshow version
Cisco APIC の出力です。
ご覧のとおり、コントローラのホスト名がAB_CDE_FGH_IJ_ACI_APC-0001
2行に分割される奇妙な出力があります。
他のホスト名も同様です。
show version
Cisco APIC の実際の出力
AB_CDE_FGH_IJ_ACI_APC_0001# show version
Role Pod Node Name Version
---------- ---------- ---------- ------------------------ --------------------
controller 1 1 AB_CDE_FGH_IJ_ACI_ 3.2(4e)
APC-0001
controller 2 2 AB_CDE_FGH_IJ_ACI_ 3.2(4e)
APC-0002
controller 3 3 AB_CDE_FGH_IJ_ACI_ 3.2(4e)
APC-0003
spine 1 111 AB_CDE_FGH_IJ_ACI_SPN_01 n9000-13.2(4e)
11
spine 1 112 AB_CDE_FGH_IJ_ACI_SPN_01 n9000-13.2(4e)
12
spine 1 113 AB_CDE_FGH_IJ_ACI_SPN_01 n9000-13.2(4e)
13
leaf 1 1101 AB_CDE_FGH_IJ_ACI_LEF_11 n9000-13.2(4e)
01
leaf 1 1102 AB_CDE_FGH_IJ_ACI_LEF_11 n9000-13.2(4e)
02
leaf 1 1103 AB_CDE_FGH_IJ_ACI_LEF_11 n9000-13.2(4e)
03
Cisco ACI自体がこの問題を解決できるかどうかはわかりませんが、Cisco APIC出力をファイルにsed
保存してLinuxシステムでスクリプトを実行すると問題を解決できると思いました。awk
show version
show_version.txt
sed
残念ながら、私はスクリプトに精通していませんawk
。
そのような出力を生成する方法はありますか?
[user@Linux ~]$ sed_or_awk_script_here show_version.txt
AB_CDE_FGH_IJ_ACI_APC_0001# show version
Role Pod Node Name Version
---------- ---------- ---------- ------------------------ --------------------
controller 1 1 AB_CDE_FGH_IJ_ACI_APC_0001 3.2(4e)
controller 2 2 AB_CDE_FGH_IJ_ACI_APC_0002 3.2(4e)
controller 3 3 AB_CDE_FGH_IJ_ACI_APC_0003 3.2(4e)
spine 1 111 AB_CDE_FGH_IJ_ACI_SPN_0111 n9000-13.2(4e)
spine 1 112 AB_CDE_FGH_IJ_ACI_SPN_0112 n9000-13.2(4e)
spine 1 113 AB_CDE_FGH_IJ_ACI_SPN_0113 n9000-13.2(4e)
leaf 1 1101 AB_CDE_FGH_IJ_ACI_LEF_1101 n9000-13.2(4e)
leaf 1 1102 AB_CDE_FGH_IJ_ACI_LEF_1102 n9000-13.2(4e)
leaf 1 1103 AB_CDE_FGH_IJ_ACI_LEF_1103 n9000-13.2(4e)
[user@Linux ~]$
ベストアンサー1
awk
最初の行がshow version
空の行(3つのヘッダー行になる)と仮定して使用してください。
awk '
NR<4{ print; next } # print 3 header lines
NF>1{ # if number of fields > 1
sub($4, $4 "%s" ) # append `%s` to 4th field
fmtstr=$0 # save modified line in `fmtstr`
next # continue with next line
}
{ printf fmtstr "\n", $1 } # print `fmtstr` with first field as argument
' show_version.txt
出力:
Role Pod Node Name Version
---------- ---------- ---------- ------------------------ --------------------
controller 1 1 AB_CDE_FGH_IJ_ACI_APC-0001 3.2(4e)
controller 2 2 AB_CDE_FGH_IJ_ACI_APC-0002 3.2(4e)
controller 3 3 AB_CDE_FGH_IJ_ACI_APC-0003 3.2(4e)
spine 1 111 AB_CDE_FGH_IJ_ACI_SPN_0111 n9000-13.2(4e)
spine 1 112 AB_CDE_FGH_IJ_ACI_SPN_0112 n9000-13.2(4e)
spine 1 113 AB_CDE_FGH_IJ_ACI_SPN_0113 n9000-13.2(4e)
leaf 1 1101 AB_CDE_FGH_IJ_ACI_LEF_1101 n9000-13.2(4e)
leaf 1 1102 AB_CDE_FGH_IJ_ACI_LEF_1102 n9000-13.2(4e)
leaf 1 1103 AB_CDE_FGH_IJ_ACI_LEF_1103 n9000-13.2(4e)