1

currelty<すべてのコンテンツのすべてを次のsedコマンドに置き換えます

sed -e 's/\&lt;/</g''

しかし今、私は<title> 正確に含む行を除外する必要があります私はとの間のテキストを除外する必要があり<title>ます</title>

例えば。次の行は私のコマンドと一致しますが、この行は除外する必要があります...

 <title>BEWEGUNGSBOX der ÖDG ab sofort &lt; erhältlich </title>

どうすればsedで解決できますか?cygwinでsedを使用しています

4

2 に答える 2

0

sedHTMLデータを処理するために使用するという考えは好きではありません。しかし、それを言って、これを試してみてください:

sed -ne '/<title>.*<\/title>/ { p; b }; /<title>/,/<\/title>/ { p; b }; s/\&lt;/</g; p' infile

同じ行に両方のタグがあるaを探し、<title>...</title変更せずに印刷します。それ以外の場合は、範囲を使用して別の行でそれらのタグを探します。前の条件の1つが成功しなかった時点から、置換を開始し&lt;ます。

于 2012-08-27T14:06:55.047 に答える
0

ドキュメント本文でのみ置換を行うには、sed で正規表現範囲を使用できます。

sed -e '/<body/,/<\/body/ s/\&lt;/</g' input.htm
于 2012-08-27T14:04:29.207 に答える