Extraire chaînes de caractere précises !
jMak
Messages postés
3
Statut
Membre
-
jMak Messages postés 3 Statut Membre -
jMak Messages postés 3 Statut Membre -
Bonjour à tous !
Voila, en général je trouve mon bonheur sur ce forum mais la je coince un peu :-/
voilà mon prblème :
Jai des dizaines de fichiers HTML et je voudrais recuperer des données dessus qui sont differentes dans chaque mais comprises entre des caracteres bien specifiques, par exemple entre la balise <TITLE>
EXEMPLE :
fichier01.html
VOILA DU TEXTE EN DEBUT DE PHRASE <TITLE>COUCOU</TITLE> <AAAA>FLEUR</AAAA> ET EN FIN DE PHRASE
fichier02.html
VOILA DU TEXTE EN DEBUT DE PHRASE <TITLE>AUREVOIR</TITLE> < AAAA>BATEAU</AAAA> ET EN FIN DE PHRASE
et je voudrais au finale avoir 2 fichiers avec :
fichierA.txt
COUCOU
AUREVOIR
(tenir compte du retour a la ligne...car je voudrais les mettre sur Excel ensuite.)
fichierB.txt
FLEUR
BATEAU
(tenir compte du retour a la ligne...car je voudrais les mettre sur Excel ensuite.)
--------------------------------------------------------------
bien sur COUCOU ou AUREVOIR peut etre une phrase complete avec des espaces, etc...
je voudrais faire ca pour des centaines de fichiers....
j ai essayé d utiliser SED sous unix mais je narrive pas a recuperer des caracteres entre 2 chaines de caractere PRECISES....(ici TITLE> par ex...). SED me recuperer tout la ligne entre les retours chariots, du debut a la fin et non ce ki se trouve entre les balises TITLE...
merci de votre aide !
julien
Voila, en général je trouve mon bonheur sur ce forum mais la je coince un peu :-/
voilà mon prblème :
Jai des dizaines de fichiers HTML et je voudrais recuperer des données dessus qui sont differentes dans chaque mais comprises entre des caracteres bien specifiques, par exemple entre la balise <TITLE>
EXEMPLE :
fichier01.html
VOILA DU TEXTE EN DEBUT DE PHRASE <TITLE>COUCOU</TITLE> <AAAA>FLEUR</AAAA> ET EN FIN DE PHRASE
fichier02.html
VOILA DU TEXTE EN DEBUT DE PHRASE <TITLE>AUREVOIR</TITLE> < AAAA>BATEAU</AAAA> ET EN FIN DE PHRASE
et je voudrais au finale avoir 2 fichiers avec :
fichierA.txt
COUCOU
AUREVOIR
(tenir compte du retour a la ligne...car je voudrais les mettre sur Excel ensuite.)
fichierB.txt
FLEUR
BATEAU
(tenir compte du retour a la ligne...car je voudrais les mettre sur Excel ensuite.)
--------------------------------------------------------------
bien sur COUCOU ou AUREVOIR peut etre une phrase complete avec des espaces, etc...
je voudrais faire ca pour des centaines de fichiers....
j ai essayé d utiliser SED sous unix mais je narrive pas a recuperer des caracteres entre 2 chaines de caractere PRECISES....(ici TITLE> par ex...). SED me recuperer tout la ligne entre les retours chariots, du debut a la fin et non ce ki se trouve entre les balises TITLE...
merci de votre aide !
julien
A voir également:
- Extraire chaînes de caractere précises !
- Caractère spéciaux - Guide
- Extraire une video youtube - Guide
- Caractère ascii - Guide
- Extraire le son d'une vidéo - Guide
- Caractere speciaux - Guide
6 réponses
Salut,
Essaye ça :
;-))
Essaye ça :
sed -rn 's|.*<TITLE>(.*)</TITLE>.*|\1|w fichierA.txt' fichier*.html sed -rn 's|.*<AAAA>(.*)</AAAA>.*|\1|w fichierB.txt' fichier*.htmlLe nombre de fichiers pouvant être écrit en sortie dépend de ta version de "sed", à savoir que les versions de "GNU sed" 3 et supérieures non pas de limite alors que les version 2.05 sont limitées à 32 et les versions antérieures à 10.
;-))
Bonjour !
Wow !!! trop rapide la reponse !
je bosse sur mac os x (10.5) et voila ce que le terminal me dit lorsque je lance la commande... "sed: illegal option -- r"
je suis pret a utiliser un autre langage...le java ou C....
merci encore de votre aide !
julien
Wow !!! trop rapide la reponse !
je bosse sur mac os x (10.5) et voila ce que le terminal me dit lorsque je lance la commande... "sed: illegal option -- r"
je suis pret a utiliser un autre langage...le java ou C....
merci encore de votre aide !
julien
Re-
Bon c'est pas grave l'option "-r" c'est juste pour utiliser les expressions régulières étendues et ne pas avoir à protéger certains caractères commes les parenthèses par exemple, donc essaie comme ça :
Bon c'est pas grave l'option "-r" c'est juste pour utiliser les expressions régulières étendues et ne pas avoir à protéger certains caractères commes les parenthèses par exemple, donc essaie comme ça :
sed -n 's|.*<TITLE>\(.*\)</TITLE>.*|\1|w fichierA.txt' fichier*.html sed -n 's|.*<AAAA>\(.*\)</AAAA>.*|\1|w fichierB.txt' fichier*.htmBon si ça ne va toujours pas, on demandera à "lami20j" s'il passe dans le coin de te concocter un ch'tit truc en "Perl" ;-))
bonjour j mak,une autre possibilité directement par excel ...
as tu la possibilité, de copier coller, tes texetes, en l'état, sur un fichier excel, sans rien modifier, a savoir, que si excel, au collage , te differencie, le contenu,par ligne, tu auras la moitié du travail déjà fais.
si c'est ok, tu va faire une insertion d'une ligne supplementaire en haut, qui te servira pour la suite, danscellule a 1 de celle -ci tu marque simplement "titre".
ensuite tu va dans la barre de excel, en haut sur fenètre, tu clic, tu clic fractionner, tu remond
te la barre sous la ligne titre, et completement a gauche,
ensuite tu clic dans fenetre sur figer les volet.
dernière manoeuvre, tu clic maintenant en haur sur données, dans la ligne 1 tu selectionne la colonne a1, et dans filtre , tu clic sur filtre automatique.
tu dois avoir une fleche coin droit bas cellula a1.
maintenant, tu clic sur a1, et tu vas dans personnaliser, il y a marqué egal, dans cette fenetre, tu trouveras aussi," commence par ", tu selectionne cette option, et tu marque le mots qui t'interesse, ,ensuite , en dessous, il y a marqué" et "ou ", tu coche et , dans la fenêtre encore en dessousn, tu clic, tu trouveras un option se termine par, tu marque a droite le dernier mot, et tu clic ok..
dans ta page, il ne dois te rester que les lignes qui commence par "....." et se termine par"...."
cordialement
reviens si cela fonctionne
as tu la possibilité, de copier coller, tes texetes, en l'état, sur un fichier excel, sans rien modifier, a savoir, que si excel, au collage , te differencie, le contenu,par ligne, tu auras la moitié du travail déjà fais.
si c'est ok, tu va faire une insertion d'une ligne supplementaire en haut, qui te servira pour la suite, danscellule a 1 de celle -ci tu marque simplement "titre".
ensuite tu va dans la barre de excel, en haut sur fenètre, tu clic, tu clic fractionner, tu remond
te la barre sous la ligne titre, et completement a gauche,
ensuite tu clic dans fenetre sur figer les volet.
dernière manoeuvre, tu clic maintenant en haur sur données, dans la ligne 1 tu selectionne la colonne a1, et dans filtre , tu clic sur filtre automatique.
tu dois avoir une fleche coin droit bas cellula a1.
maintenant, tu clic sur a1, et tu vas dans personnaliser, il y a marqué egal, dans cette fenetre, tu trouveras aussi," commence par ", tu selectionne cette option, et tu marque le mots qui t'interesse, ,ensuite , en dessous, il y a marqué" et "ou ", tu coche et , dans la fenêtre encore en dessousn, tu clic, tu trouveras un option se termine par, tu marque a droite le dernier mot, et tu clic ok..
dans ta page, il ne dois te rester que les lignes qui commence par "....." et se termine par"...."
cordialement
reviens si cela fonctionne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je reviens, juste pour te dire, que si tu arrive a coller ce que tu dit sur excel, il ne doit pas non plus avoir de ligne vide, après le collage , peut-être un detai, ces lignes doivent être supprimer pou que le tri soit valable
alors la !! merci beaucoup beaucoup !!! tous vos conseils m aident enormement !!!!!
je pense que je vais reussir avec tout ca ! mais dans le fond si lami20j passe dans le coin comme tu dis, jaimerais bien qu il me donne quelques conseils aussi en PERL, cela pourra toujours me servir pour plus tard au cas ou...
MERCI ENCORE !!!!
je pense que je vais reussir avec tout ca ! mais dans le fond si lami20j passe dans le coin comme tu dis, jaimerais bien qu il me donne quelques conseils aussi en PERL, cela pourra toujours me servir pour plus tard au cas ou...
MERCI ENCORE !!!!