こんにちは、cisco ルーターに接続する perl スクリプトを持っています。
このように分割されていない場合の実際の出力
int デスクを表示 インターフェイス ステータス プロトコルの説明 Gi1/0/0 up up TRUNK ME-A-JKT-TAN 5/2/1 u/ Service VPN-IP (QoS対応) Gi1/0/0.23 アップ アップ VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077
次に、このようにこのスクリプトにコードを入れます
my @output1 = split(/\s{2,}/, $output);
foreach my $output2 (@output1) {
$output3="$output2%";
my @output4 = split(/\s{2,}/, $output3);
foreach my $output5 (@output4) {
print "$output5#"
}
}
なぜこのように印刷するのか
int デスクを表示 インターフェイス%#ステータス%#プロトコルの説明 Gi1/0/0%#up%#up%#TRUNK ME-A-JKT-TAN 5/2/1 u/ Service VPN-IP (QoS対応) Gi1/0/0.23%#up%#up%#VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077
私はこのように印刷したい
show int desc#Interface%Status%Protocol%Description#Gi1/0/0%up%up%TRUNK ME-A-JKT-TAN 5/2/1 u/ Service VPN-IP (Support QoS)#Gi1/0/ 0.23%up%up%VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077#
% で区切られた 2 つ以上のスペースが必要で、/n は # で区切られています