0
で範囲内の特定の行を削除します。以下のようなブロックを考える:私はsedを使用したパターンに一致する一対の内側にブロックを削除しようとしているSED
<span
class="fxlbc-t1-x-x-172">M<span
class="small-caps">A</span><span
class="small-caps">R</span><span
class="small-caps">S</span></span>
<span
class="fxlbc-t1-x-x-248">R<span
class="small-caps">A</span><span
class="small-caps">I</span><span
class="small-caps">S</span><span
class="small-caps">O</span><span
class="small-caps">N</span></span>
私はブロックを削除する必要があります。
<span
class="fxlbc-t1-x-x-172">M<span
class="small-caps">A</span><span
class="small-caps">R</span><span
class="small-caps">S</span></span>
私はsedの中でそれをやろうとしています。 N
セレクタを使用しているときに私が打つ最初の問題は、奇数対偶数ラインの問題です。
sed -i 'N
/.*<span \nclass="fxlbc-t1-x-x-172".*/,/.*class="fxlbc-t1-x-x-248".*/ {
/.*fxlbc-t1-x-x-172.*/d
}' test.html
# Add an empty line
sed -i '1i\ ' test.html
sed -i 'N
/.*<span \nclass="fxlbc-t1-x-x-172".*/,/.*class="fxlbc-t1-x-x-248".*/ {
/.*fxlbc-t1-x-x-172.*/d,
/.*
}' test.html
私はそれを行うための簡単な方法がなければならないかなり確信している、そして私が適切にブロックの他の行を削除する方法とこだわっている(なし:私はこれを行うことによって、これを修正しましたfxlbc-t1-x-x-248
span
行を削除してください)。何か案が?