Sed enlever des balises

Résolu
Bonjour,

Je voudrais simplement enlever des balises html d'une page:
<table><tr><td>Bonjour</td></tr></table>

Pour récupérer "Bonjour"

J'ai essayé sed 's/\<.*\>//g' mais ca marche po.

je suis toujours aussi nul en sed :-))

Merci
Configuration: Windows XP
Firefox 2.0.0.3

3 réponses

  1. Finalement c bon :

    sed s/"<[^>]*>"/""/g

    ;-)
    3
    1. Modérateur
      Salut,

      Sinon :
       sed 's|</.*>||;s|<.*>||'
      On n'est pas obligé de prendre le "/" comme séparateur... Pour ta solution ça donne :
       sed 's|<[^<]*>||g'
       sed 's%<[^<]*>%%g'
       sed 's=<[^<]*>==g'
      ;-))
      2
      1. excuse mais est ce que tu pourrai juste expliquer ce que fait chaque lettre de la ligne ? histoire que j'essaye de comprendre pourquoi sa sa enleve les balises merci =)
        0
      2. Contributeur
        sed 's/<[^>]*>//g'


        <
        On cherche un motif qui commence par un chevron ouvrant

        [^>]*
        Suivi de 0, un ou plusieurs caractères à l'exception du caractère ">" (chevron fermant).

        Le "[^>]*" remplace le ".*" normalement employé pour définir la regex 0, un ou plusieurs caractères, et nous sert donc à s'arrêter juste avant de trouver ce caractère (>)

        >
        Qui se termine par un chevron fermant
        0
    2. moi j'ai essayé ce que vous dites et ça ne marche pas^^
      0
      1. Contributeur
        T'as essayé quoi sur quoi ?
        0