見積もりを使用して正規表現を使用してコンテンツを一致させるには?

見積もりを使用して正規表現を使用してコンテンツを一致させるには?

私は正規表現を初めて使用します。以下の入力ストリームを解析してみてください。正規表現で解析する方法。 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";
    }
}

おすすめ記事