ベストアンサー1
タグ内に改行文字がなく、Container
同じ行に2つのタグがない最も簡単なケースを考えると、
sed -n 's_.*<Container \([^>]*\) />.*_\1_p' filename
必要な出力を提供する必要があります。
- この
s
コマンドはパターンを代替パターンに置き換えます。 .*<Container
行全体をタグの先頭に合わせます。削除したいです。[^>]*
>
(複数のタグをキャプチャするのを防ぐためです)を除いて、すべての文字数と一致します。これは\(\)
、交換に使用できるように保管したい部分です。\1
/>.*
捨てたい行の残りの部分です\1
の交換は、最初のペアと一致する部品を表している\(\)
ので、これが印刷したいものです。- 一致する場合は出力を印刷し、このオプション
p
は他の出力を抑制します。-n
状況がより複雑になったら、プロのXMLツールまたはXML解析ライブラリを使用することをお勧めしますpython
。