シェルスクリプト - シェルスクリプトを使用して、特定のタグのすべてのアイテムからコンテンツを取得します。

シェルスクリプト - シェルスクリプトを使用して、特定のタグのすべてのアイテムからコンテンツを取得します。

私のサーバーにXMLファイルがあります。このファイルには多くのタグがあり、その中に「container」タグなどのタグがあります。すべてのコンテナタグコンテンツのコンテンツを個別にインポートする必要があります。よろしくお願いします。

予想される出力を含む問題の説明

ベストアンサー1

タグ内に改行文字がなく、Container同じ行に2つのタグがない最も簡単なケースを考えると、

sed -n 's_.*<Container \([^>]*\) />.*_\1_p' filename

必要な出力を提供する必要があります。

  • このsコマンドはパターンを代替パターンに置き換えます。
  • .*<Container行全体をタグの先頭に合わせます。削除したいです。
  • [^>]*>(複数のタグをキャプチャするのを防ぐためです)を除いて、すべての文字数と一致します。これは\(\)、交換に使用できるように保管したい部分です。\1
  • />.*捨てたい行の残りの部分です
  • \1の交換は、最初のペアと一致する部品を表している\(\)ので、これが印刷したいものです。
  • 一致する場合は出力を印刷し、このオプションpは他の出力を抑制します。-n

状況がより複雑になったら、プロのXMLツールまたはXML解析ライブラリを使用することをお勧めしますpython

おすすめ記事