Sed - extraire caractères d'une ligne

Fermé
nth2008 Messages postés 1 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 31 août 2009 - 31 août 2009 à 11:24
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 31 août 2009 à 16:58
Bonjour,

Je débute et cherche à effectuer un script pour extraire des pages de résultats google (les pages .html de type : "https://www.google.fr/search?hl=fr&q=voiture&gws_rd=ssl") le nombre de résultats trouvés par google ( "Résultats 1 - 10 sur un total d'environ 3 830 000 pour voiture (0,09 secondes) ).

Pour procéder, je télécharge la page avec wget et ensuite je parcours le fichier html à la recherche du nombre de résultats.
Le nombre de résultats est compris dans la page entre les chaines de caractères "sur un total d'environ <b>" et "</b>".

D'après mes recherches, il faut que j'utilise la fonction SED de linux pour extraire les caractères qui se trouvent entre ces deux expressions :

sed -n '/environ <b>/,/<\/b>/p' mon_fichier_google.html


Le problème c'est que quand j'effectue cette recherche, j'obtiens en retour toute la ligne contenant ces expressions, et non, comme je l'aurais souhaité les caractères se trouvant exactement entre ces expressions.
Il semblerait que SED renvoit des lignes uniquement.

Malgré mes recherches je n'ai pu trouver de cas similaire au mien et je m'en remet donc à votre aide pour solutionner mon problème.

Merci par avance,

Nicolas
A voir également:

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
31 août 2009 à 11:51
Salut,

Une méthode plus simple :
cat ton_fichier_wget | w3m -T text/html | sed -n '/sur un total d/p'
Bien entendu "w3m" doit être installé (aptitude install w3m).

;-))
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
31 août 2009 à 12:14
Sinon, en ayant "html2text" d'installer :
$ wget  -U "" -qO - "http://www.google.fr/search?hl=fr&q=voiture" | html2text |sed -n '/sur un total d/p'
 Résultats 1 - 10 sur un total d'environ 48 400 000 pour voiture (0,13
;-))
0
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
31 août 2009 à 16:58
hello
une variante
$ w3m -dump "https://www.google.fr/search?hl=fr&q=voiture&gws_rd=ssl" -cols 256| grep "sur un total"
Résultats 1 - 10 sur un total d'environ 48 400 000 pour voiture (0,13 secondes)
0