Sed supprimer des balises à partir d'un fichier html
J'ai besoin de supprimer toutes les balises du html avec un script bash à l'aide de la commande sed.
J'ai essayé avec ce
sed -r 's/[\<][\/]?[a-zA-Z0-9\=\"\-\#\.\& ]+[\/]?[\>]//g' $1
et avec cette
sed -r 's/[\<][\/]?[.]*[\/]?[\\]?[\>]//g' $1
mais il me manque encore quelque chose, des suggestions??
Voici mon préféré réponse concernant le HTML et les Regex 😉 stackoverflow.com/questions/1732348/...
Je sais parfaitement, mais c'est l'un des devoirs 🙁
Mon temps était il y a longtemps, mais je pense que les devoirs n'est pas nécessairement de montrer une réponse parfaite. C'est aussi pour montrer un peu d'effort à toutes et à avoir le courage de dire que c'est tout ce que je suis venu avec. 🙂
Je sais parfaitement, mais c'est l'un des devoirs 🙁
Mon temps était il y a longtemps, mais je pense que les devoirs n'est pas nécessairement de montrer une réponse parfaite. C'est aussi pour montrer un peu d'effort à toutes et à avoir le courage de dire que c'est tout ce que je suis venu avec. 🙂
OriginalL'auteur michste93 | 2013-11-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez soit utiliser l'un des nombreux Code HTML pour convertisseurs de texte, utiliser des regex Perl si possible
<.+?>
ou si elle doit êtresed
utilisation<[^>]*>
Si il n'y a pas de place pour les erreurs, utiliser un analyseur HTML à la place.
E. g. lorsqu'un élément est réparti sur deux lignes
cette expression régulière ne fonctionnera pas.
Cette expression régulière se compose de trois parties
<
,[^>]*
,>
<
*
, qui ne sont pas à la clôture>
[...]
est un classe de personnage, lorsqu'il démarre avec^
recherche de personnages pas dans la classe>
Le plus simple expression régulière
<.*>
ne fonctionnera pas, parce qu'il recherche le plus longtemps possible, c'est à dire la dernière clôture>
dans une ligne d'entrée. E. g., lorsque vous avez plus d'un tag dans une ligne d'entréeentraînera
au lieu de
Voir aussi Répétition avec les Étoiles et Plus, en particulier la section Watch Out pour La Gourmandise! et, pour une explication détaillée.
Le
[^>]
est une classe de caractères qui correspond à tout caractère sauf>
et la*
dit de répéter le match zéro ou plusieurs fois. Sinon,<.*>
correspondrait à partir de la première<
sur la ligne à la dernière>
, s'étendant souvent sur plusieurs balises.OriginalL'auteur