Sed enlever des balises

Résolu
tlep Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

3 réponses

tlep Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   118
 
Finalement c bon :

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

;-)
3
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
alex
 
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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
lily
 
moi j'ai essayé ce que vous dites et ça ne marche pas^^
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
T'as essayé quoi sur quoi ?
0