Récuperer texte dans un fichier

Fermé
*RHCP* - 18 déc. 2007 à 01:46
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 18 déc. 2007 à 10:26
Bonsoir,

J'ai des milliers de fichiers html et je voudrais récupérer le texte qui se trouve entre deux balises uniques dans le fichier.
J'ai essayer des tas de commandes et de combinaisons (grep, cut -d, cut -f, head, tail, . . .) mais je ne suis arrivé à rien de concluant.
Mes balises sont du type : <xxx> texte à récupérer </xxx>

Merci de votre aide ;-)

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 déc. 2007 à 08:54
Salut,

Il aurait été bien d'avoir un exemple des fichiers "html" ainsi que des balises, par exemple si le texte à récupérer tient sur une seule ligne ou plusieurs, enfin du moins si les balises sont sur une ou plusieurs lignes...

Bon en attendant voilà un bout de code pour des balises (uniques) et du texte sur une seule ligne :
sed -n 's|<balise>\(.*\)</balise>|\1|p' *.html > fichier.sortie
;-))
0
Bonjour,

J'ai testé la commande sur mon fichier mais ça ne fonctionne pas. C'est certainement une petite faute dans la commande mais comme je suis loin d'être un pro des expressions régulières !

Sinon voilà un exemple de fichier : https://tabs.ultimate-guitar.com/tab/jimi-hendrix/little-wing-tabs-11712
Je voudrais récupérer le contenu entre les balises <xmp> qui sont uniques.

Merci et à bientôt.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 déc. 2007 à 10:26
C'est bien ce que je disais, avec un exemple c'est beaucoup mieux ;-))
sed -n '\|<xmp>|,\|</xmp>|p' little_wing_tab.htm | sed  '1 {s/.*>//}; $ {s/<.*//}'
;-))
0