WordPress エクスポート XML ファイルで、次の検索および置換ソリューションを検索しようとしています。
文字列の検索
<content:encoded><![CDATA[HERE GOES ANY POSSIBLE POSTS TEXT including HTML tags]]></wp:meta_value>
閉じるタグを
</wp:meta_value>
次に置き換えます。</content:encoded>
問題は、XMLファイルに</wp:meta_value>
開始タグだけでなく、他の多くの閉じるタグがあることです<content:encoded>
。
私が検索したsedソリューションのどれも役に立ちませんでした。どんなbashコマンドでも可能ですか?
PS:私の目標は、カスタムフィールドをデフォルトのWPコンテンツタグに変換することです。変更する元のコードは次のとおりです。
<wp:postmeta>
<wp:meta_key><![CDATA[page_content_0_text]]></wp:meta_key>
<wp:meta_value><![CDATA[POST CONTENT GOES HERE]]></wp:meta_value>
</wp:postmeta>
以下を行う必要があります。
<content:encoded><![CDATA[POST CONTENT GOES HERE]]></content:encoded>
<content:encoded>
XMLの各投稿は一意ですが、<wp:postmeta>
必ずしもそうではありません。
答え1
私たちはセクションのプロパティを活用しますCDATA
。できない]]>
以下の部分文字列が含まれます。
perl -0777 -pe '
s{
<content:encoded>
<!\[CDATA\[.*?]]> \K
</wp:meta_value>
}[</content:encoded>]xgs;
' your_file.input