<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経由