次のhtmlテキスト(巨大なファイルの抜粋)の一部を置き換えて、古いフォーラム形式(2年前に行われた非常に悪いフォーラム移植作業の結果)を通常のphpBB形式に更新したいと思います。
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>written by User</i>
これは次のようにフィルタリングする必要があります。
[quote=User]
sedで次の正規表現を使用しました
s/<blockquote.*written by \(.*\)<\/i>/[quote=\1]/g
これは特定の例で機能しますが、実際のファイルでは、このような複数の引用符を1行に含めることができます。その場合、sedは貪欲すぎて、最初の一致と最後の一致の間のすべてを[quote=...]タグに配置します。行内のこのパターンのすべての出現を置き換えるように見えることはできません...(ネストされた引用符はないと思いますが、それはさらに困難になります)