Új sor karakter törlése

Sziasztok!

Olyan gondom van, hogy egy html fájlban előfordul több új sor karakter egy oszlop soron belül <(< td >< /td >). Szabályosan nekem itt egy sor kellene.
Milyen megoldással lehetne azt elérni, hogy töröljem az új sor karaktert, de csak a < td >< /td > között.
Néztem a tr-t, az awk-ot is de nem jutok dűlőre.
Az odáig ok, hogy ki tudom keresni pl. így:
awk '$NF !~ />/' file.html
Viszont ez még sem törli így:
awk '$NF !~ />/' < file.html | tr -d '\r' | tr -d '\n'

Előre is köszi!

Hozzászólások

tehát az a gond, hogy egy < td > < /td > között több soremelés van?

Az awk nyelvvel nem CSAK keresel, hanem feldolgozol, pl. kiírsz is, és itt az a lényeg, hogy mit írsz ki.

Másrészt az awk-nak van egy ritkán idézett, tartományminta nevű szolgáltatása:


awk '
   /<td>/,/<\/td>/ {
      if (/<\/td>/) {
         print gyujto, $0
         gyujto=""
      } else {
         gyujto = gyujto " " $0
      }
      next
   }
   { print }
'

Ha ismert a \n-ek száma a

között, akkor simán seddel is cserélhetsz.


sed "s/< td> \n< /td >/< td >< /td >/g" BEMENETTIFILE >KIMENETIFILE

(Bocs a szóközökért)
Persze regexp is mehet sednek.