ファイルからヘッダーとフッターを削除する簡単なコマンド

ファイルからヘッダーとフッターを削除する簡単なコマンド

ファイルからXMLヘッダーとフッターを削除するコマンドが必要です。

<?xml version="1.0" encoding="UTF-8"?>
<conxml>
<MsgPain001>
    <HashValue>A9C72997C702A2F841B0EEEC3BD274DE1CB7BEA4B813E030D068CB853BCFECA6</HashValue>
    <HashAlgorithm>SHA256</HashAlgorithm>
    <Document>
                ...
    </Document>
    <Document>
                ...
    </Document>
</MsgPain001>
</conxml>

...

正当化されなければならない

<Document>
         ...
    </Document>
    <Document>
          ...
    </Document>

(インデントに注意してください。最初のドキュメントタグのインデントを削除する必要があります。

これは(貪欲な)正規表現のように聞こえます。

<Document>.*</Document>

しかし、改行文字のため理解できません。

埋め込み文書のハッシュを計算するには、パイプラインにこの情報が必要です。

ベストアンサー1

使用sed:

 sed -n '/<Document>/,/<\/Document>/ p' yourfile.xml

説明する:

  • -n沈黙のままですsed。つまり、ファイル全体の内容を出力しません。
  • /pattern/ 探す指定されたパターンを含む行の場合
  • a,b(カンマ)はsed実行を示します.行動 aから までの路線でb(ここで合計は上記のパターンと一致して定義さaれます)b
  • p代表する印刷そして行動上記と一致する行で実行します。

編集する:前のスペースをさらに削除するには<Document>:

 sed -ne '/ <Document>/s/^ *//' -e '/<Document>/,/<\/Document>/ p' yourfile.xml

おすすめ記事