以下は私のファイルの内容です。
<A>
<number>100</number>
<name>Word1</name>
</A>
<A>
<number>101</number>
<name> Word2</name>
</A>
grepを実行すると、次のWord1
出力を表示しようとします。
<A>
<number>100</number>
<name>Word1</name>
</A>
grepを実行すると、次のWord2
出力を表示しようとします。
<A>
<number>101</number>
<name>Word2</name>
</A>
誰でも助けることができますか?
ベストアンサー1
これが正しい形式のXML文書の一部である場合は、XMLパーサーを使用して必要な部分を抽出できます。
満足するよく構造化必須です。<root>
XMLフラグメントをとでラップしました</root>
。
xmlstarlet sel -t -c '//A[name="Word1"]' -n file.xml
これを直接満たすことができない場合は、明示的にラップできます。
( echo '<root>'; cat file.xml; echo '</root>' ) | xmlstarlet sel -t -c '//A[name="Word1"]' -n
どちらの場合も、出力は次のようになります。
<A>
<number>100</number>
<name>Word1</name>
</A>