私は正規表現を初めて使用します。以下の入力ストリームを解析してみてください。正規表現で解析する方法。 CNTXIDが増えているからです。
"Data"
CNTXID = 1
AP = 99
DEF = FALSE
CNTXID = 2
AP = 88
DEF = TRUE
CNTXID = 3
AP = 77
DEF = FALSE
そしてCNTXIDは固定されていません。
希望の出力
CNTXID_1 = 1
AP_1 = 99
DEF_1 = FALSE
CNTXID_2 = 2
AP_2 = 88
DEF_2 = TRUE
CNTXID_3 = 3
AP_3 = 77
DEF_3 = FALSE
ベストアンサー1
expect
データを変更するために使用しないでください。 「メッセージ受信 - 応答送信」用に設計されています。あなたが説明するのは、データ型を再指定するだけです。
これはPerlを使用して簡単に実行できます。
#!/bin/perl
my $n=0;
while(<>) {
if (/CNTXID = (\d+)/) {
$n = $1;
}
if (/(\S+) = (\S+)/) {
printf "%7s_%d = %s\n", $1, $n, $2;
} elsif (/$\s*^/) {
print "\n";
}
}