Expression rationnelle, vider une balise html

Expression rationnelle, vider une balise html - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 26-09-2009 à 13:36:07    

Bonjour à tous,

 

Je souhaite supprimer les balises <body> et </body> d'un fichier html avec sed en une seule expression rationnelle.
Sachant que la balise <body> peut contenir du texte (lang, ...)
Je pensais donc utiliser :

Code :
  1. sed -i "s/<[\/]?BODY[^>]*>//g" fichier.html
 

avec :

  • [\/]? : Avec ou sans "/" au début pour détecter </B... et <B....
  • [^>]*> pour détecter tout le texte entre BODY et la première balise fermante qui suit. donc, 0 ou n fois n'importe quel caractères sauf ">", puis ">"


Ca marche quand j'utilise le module de recherche de Kate, par contre, avec sed ça ne marche pas. Quelqu'un saurait me dire pourquoi?

 

Merci,
vw.


Message édité par Combi_A_Vendre le 26-09-2009 à 13:44:33

---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
Reply

Marsh Posté le 26-09-2009 à 13:36:07   

Reply

Marsh Posté le 26-09-2009 à 15:30:12    

il faut echapper le ? et les [] autour de \/ ne sont pas nécessaires

 

sed -i "s/<\/\?BODY[^>]*>//g" fichier.html

 

'info sed' et partie Regular Expression pour plus d'infos


Message édité par Aiua le 26-09-2009 à 15:36:28

---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

Marsh Posté le 26-09-2009 à 15:54:22    

Merci, effectivement, je n'avais pas vu que le ? devait être précédé de "\" contrairement à "*"

 

Merci,
vw.


Message édité par Combi_A_Vendre le 13-07-2010 à 12:43:36

---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed