タグの1つでパターンマッチング後にsedを使用してxmlから抽出するにはどうすればよいですか?

タグの1つでパターンマッチング後にsedを使用してxmlから抽出するにはどうすればよいですか?
<Response 
            <MessageID>ID:c3e2</MessageID>
             <Year>2018</Year>
            <ClntID>ABC</ClntID>
            <ParticipantID>12346789</ParticipantID>
            <ProductType>RU</ProductType>
           <Date>19010101<tDate>
          </Response>

上記の応答では、参加者IDの値が12346789の場合にのみ、応答全体をコピーしたいと思います。 sedまたはgrepコマンドを使用してこれを達成するにはどうすればよいですか?

ベストアンサー1

特に要請されたので、sedそうしてください。

$ sed -n '/^<Response/{:a;N;/<\/Response>/!ba;/<ParticipantID>12346789/p}' inp
<Response
            <MessageID>ID:c3e2</MessageID>
             <Year>2018</Year>
            <ClntID>ABC</ClntID>
            <ParticipantID>12346789</ParticipantID>
            <ProductType>RU</ProductType>
           <Date>19010101<tDate>
          </Response>
$

同様のコードsed - 行が条件に一致すると、パターン範囲に一致する行を印刷します。@John1024経由

おすすめ記事