Szöveg törlése. Sed, awk, bash?

Pár (tíz)ezer html fájlt meg kellene dolgoznom úgy, hogy töröljek belőlük egy szövegblokkot.

A törlendő szövegblokk
- többsoros,
- ugyanazzal a kezdő mintázattal indul, de nem szükségszerűen sor elején
- ugyanazzal a záró mintázattal végződik, szintén nem feltétlenül sor végén

Van erre valami egyszerű és frappáns sed/awk parancs, vagy egy bash szkriptet kellene összekalapálnom rá?

Hozzászólások

OK, közben kiötlöttem egy megoldást, ami bizonyos megszorítások mellett működik (a "masodik" és "negyedik" szavak közötti részt törli, tekintet nélkül a sorvége karakterekre):

echo "elsomasodikharmadik"$'\n'"almakorte""dionegyedikotodik" | sed -e 's/masodik/§/' -e 's/negyedik/§/' | awk 'BEGIN {RS="ß"; FS="§"}{print $1 $3}'
A megszorítások:
- a fájlokban ne legyen "sarfesz" és § jel,
- csak egy törlendő blokk legyen mindegyikben
- nem tudom van-e korlát, és mekkora egy awk változóban tárolható szöveg méretére?

Egyelőre úgy tűnik, hogy megvan a megoldás, de a megszorítások teljesülését még csekkolnom kell.

---
If you have money, use Windows!
However, if you also have a brain, use Linux!

perl-ben meg lehet csinálni, hogy a teljes textfile-t egyetlen stringként kezelje. Sajnos úgy 5-6 éve bányásztam ki a doksiból, azóta se volt rá szükségem, úgyhogy ennyi az össz emlékem.
Valami rémlik, hogy van egy spec változó ami a sorvég karaktert definiálja, ebbe kell üres stringet tenni.
Talán betéved valaki, aki pontosan is tudja.
--------------
Fel! Támadunk!

find /foo/bar -type f -name '*html' -print0|xargs -0 perl -pi.bak -e 's/masodik.*negyedik//s'

features:
- a filenevekben lehet minden unix-os gonoszsag (space,',",...)
- s///s egy sornak tekinti a filet, ha tobb van a negyedik stringbol, akkor az utolso negyedik stringig kivesz mindent.
- helyben editalja a filekat, de keszul .bak

Anr - http://andrej.initon.hu