Cherche aide pour la fonction awk sous linux

Résolu/Fermé
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 - 8 févr. 2008 à 14:48
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 - 14 févr. 2008 à 12:45
Bonjour,
j'ai des données à recuperer avec la fonction awk sous linux et je voudrais savoir comment faire pour extraire les données que je veux a partir des pages html que j'ai dans un fichier sur mon bureau.
merci pour celui qui veux m'aider.
A voir également:

31 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
8 févr. 2008 à 17:52
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
8 févr. 2008 à 23:55
merci
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
9 févr. 2008 à 11:22
De rien ;-))

Mais avoue :

comment faire pour extraire les données que je veux a partir des pages html que j'ai dans un fichier
Lesquelles ?
Elles ressemblent à quoi ?
Elles sont situées où ?
Quel est le délimiteur ?
Combien de champs ?
etc.
awk '/motif/ { print $1, $2, $3 }' fichier
T'es plus avancé avec ça ?
0
tout d'abord merci pour ta reponse,
je dois te dire que je suis un novice et que je suis un peu dérouté car je ne suis pas un informaticien donc je ne m'y connais pas trop.
pour le problème que j'ai voila:
j'ai des données des présidentielles 2007 en France que j'ai récupéré du site du ministère de l'intérieur sous format html avec la fonction wget et maintenant je voudrais savoir comment utiliser la fonction awk pour prendre que les données des candidats avec leur score au deuxième tour.il faudrait que je prenne les noms des candidats avec leur score, et ce travail est valable pour tout les départements de France.
voila si vous pouvez me donner un coup de main ça serait bien.
merci
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
12 févr. 2008 à 13:05
Tu le fais exprès ou quoi ?

Relis mon post précédent !!!
Sans avoir une idée (vue) précise de ce que tu cherches et veux récupérer, on ne peut rien pour toi !

Copie/colle un bout de ton fichier (ici ou sur cjoint), et dis-nous (en montrant un exemple) ce que tu veux en sortie... c'est clair ?

Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 13:17
voici le lien
https://www.cjoint.com/?cmnoBpJozR
je voudrais avoir juste les données des candidats c'est à dire le nom des candidats et les voix
merci encore
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
12 févr. 2008 à 14:03
C'est pas du "awk" c'est du "sed" (je suis plus à l'aise avec ;-)) ) :
sed -n '/M\.\|Mme/{N;s#<[^>]*>##g;s/[ ]\{2,\}//g;s/\r\n/ : /p}' 053.html
;-))
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 14:41
comment je fais pour afficher les resultats?
quand j'utilise la commande que tu m'as donné j'ai une autre ligne qui s'affiche sans que rien ne se passe.
je comprend pas. j'ai mi un fichier test pour tester sur une seule page que j'ai nommé 22001.html et qui contient les données puis j'ai utilisé le programme avec a la fin le nom de ce fichier mais sur la console ça revient a la ligne.
peux tu encore m'aider?
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
12 févr. 2008 à 14:45
Récupère le fichier que tu m'as mis en lien via "wget", puis sur ce même fichier exécute la commande ci-dessus, il devrait alors te sortir ce résultat ;-))
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:03
ya un messsage qui me dit "sed: impossible de lire 053.html :aucun repertoire ou fichier de ce type.
pourtant j'ai mis le fichier 053 avec la page 22001.html
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
12 févr. 2008 à 15:06
Affiche le contenu de ton répertoire et la commande que tu tapes, ainsi que le message d'erreur. Fais un copier/coller de tout ça depuis ton terminal...
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:12
/home/dali/053/022/22001.html
et voila ce que je tape
dali@k-mna-091:~/0053$ sed -n '/M\.\|Mme/{N;s#<[^>]*>##g;s/[ ]\{2,\}//g;s/\r\n/ : /p}' 053.html
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:15
et quan j'essai avec cette commande :

dali@k-mna-091:~$ sed -n '/M\.\|Mme/{N;s#<[^>]*>##g;s/[ ]\{2,\}//g;s/\r\n/ : /p}' 22001.html

voila ce qui s'affiche:

dali@k-mna-091:~$
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:21
pardon si je n'explique pas bien car je viens de connaître ubuntu depuis une semaine
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
12 févr. 2008 à 15:23
Le fichier "22001.html" c'est le fichier récupérer via "wget" ?

Affiche le résultat de la commande :
file 22001.html 
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:28
le répertoire 053 que j'ai, comporte quatre sous répertoires qui contiennent les pages html des données aspirées du site web ils représentent en fait les résultats des 4 départements de Bretagne
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:29
oui c'est le fichier récuperer via wget
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:30
dali@k-mna-091:~$ file 22001.html
22001.html: ISO-8859 HTML document text, with very long lines
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
12 févr. 2008 à 15:42
Dis-moi si cette commande t'affiche la liste des candidats et leur score en dessous :
sed -n '/M\.\|Mme/{N;s#<[^>]*>##gp}' 22001.html
Si oui, dis-moi si à la suite de cette commande :
sed -n '/M\.\|Mme/{N;s#<[^>]*>##gp}' 22001.html | cat -A 
si les lignes finissent par :
^M$
ou
$
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 15:47
elles se terminent par $
voila le resultat

dali@k-mna-091:~$ sed -n '/M\.\|Mme/{N;s#<[^>]*>##gp}' 22001.html | cat -A
M- M- M.M- M- NicolasM- M- SARKOZY$
185$
M- M- MmeM- M- SM-igolM-hneM- M- ROYAL$
177$
M- M- M.M- M- OlivierM- M- BESANCENOT$
7$
M- M- MmeM- M- Marie-GeorgeM- M- BUFFET$
1$
M- M- M.M- M- GM-irardM- M- SCHIVARDI$
2$
M- M- M.M- M- FranM-goisM- M- BAYROU$
53$
M- M- M.M- M- JosM-iM- M- BOVM-I$
6$
M- M- MmeM- M- DominiqueM- M- VOYNET$
2$
M- M- M.M- M- PhilippeM- M- de VILLIERS$
13$
M- M- MmeM- M- SM-igolM-hneM- M- ROYAL$
110$
M- M- M.M- M- FrM-idM-iricM- M- NIHOUS$
9$
M- M- M.M- M- Jean-MarieM- M- LE PEN$
28$
M- M- MmeM- M- ArletteM- M- LAGUILLER$
5$
M- M- M.M- M- NicolasM- M- SARKOZY$
127$
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 16:03
Est ce que c'est possible d'avoir que les noms exemple ( ROYAL , BOV, SARKOZY,....) et puis sur la même ligne le score. je dois faire ça pour tout les communes de France. et merci encore
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
12 févr. 2008 à 16:22
Bon essaye avec cette commande :
sed -n '/M\.\|Mme/{N;s#<[^>]*>##g;s/[ ]\{2,\}//g;s/\n/ : /p}' 22001.html 
Ça devrait aller mieux ;-))
0
abdali Messages postés 161 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 30 août 2012 8
12 févr. 2008 à 16:24
oui effectivement les nombres sont affichés sur la ligne
merci
0