Extraction sous-chaines page web
Résolu/Fermé
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
-
Modifié par p_tony le 15/02/2014 à 04:37
p_tony Messages postés 74 Date d'inscription samedi 3 novembre 2012 Statut Membre Dernière intervention 18 mars 2015 - 17 févr. 2014 à 17:58
p_tony Messages postés 74 Date d'inscription samedi 3 novembre 2012 Statut Membre Dernière intervention 18 mars 2015 - 17 févr. 2014 à 17:58
A voir également:
- Extraction sous-chaines page web
- Traduire une page web - Guide
- Supprimer une page word - Guide
- Web office - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Capture page web - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
15 févr. 2014 à 08:42
15 févr. 2014 à 08:42
Salut,
Et tu voudrais que ça te renvoie quoi exactement ?
Et tu voudrais que ça te renvoie quoi exactement ?
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
15 févr. 2014 à 11:18
15 févr. 2014 à 11:18
hello
comme ça ?
comme ça ?
$ awk -F "[ =/]*" '/var.*status/ {split($6, a, "[_.]"); print $3, a[3]}' fichier.html
blackInkStatusImage normal
colorInkStatusImage normal
$
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
15 févr. 2014 à 18:06
15 févr. 2014 à 18:06
Hmmm, ça me renvoie ça :/
awk -F "[ =/]*" '/var.*status/ {split($6, a, "[_.]"); print $3, a[3]}' /var/services/web/cronPrinterPage.html a a.
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
16 févr. 2014 à 09:49
16 févr. 2014 à 09:49
montre le fichier html
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
Modifié par dubcek le 16/02/2014 à 14:00
Modifié par dubcek le 16/02/2014 à 14:00
essayer ça
$ awk '/var.*status/ {split($2, a, "[=/._]"); print a[1], a[7]}' fichier.htmlavec page count
blackInkStatusImage normal
colorInkStatusImage normal
$ awk '/var.*status/ {split($2, a, "[=/._]"); print a[1], a[7]} /Total/ {getline; getline; getline; print $1}' fichier.html
blackInkStatusImage normal
colorInkStatusImage normal
313
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
17 févr. 2014 à 02:06
17 févr. 2014 à 02:06
Voici la source html , dont j'ai enlever quelques infos et les lignes vides: https://pastebin.com/ue0yENcN
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
17 févr. 2014 à 11:14
17 févr. 2014 à 11:14
résultat.
$ awk '/var.*status/ {split($2, a, "[=/._]"); print a[1], a[7]}' fichier.htm
blackInkStatusImage normal
colorInkStatusImage normal
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
Modifié par p_tony le 15/02/2014 à 18:29
Modifié par p_tony le 15/02/2014 à 18:29
Bon j'ai trouvé ça pour les satus des cartouches et de l'imprimante:
Question subsidiaire:
Pourquoi, je ne peux pas modifier mon message original pour y ajouter de nouvelles infos ?
:/
BLACK_INK_STATUS=$(cat $PAGE_PATH | sed -nre 's#.+/icon_status_([a-z]+).*#\1#p' | sed -n '1p' ) COLOR_INK_STATUS=$(cat $PAGE_PATH | sed -nre 's#.+/icon_status_([a-z]+).*#\1#p' | sed -n '2p' ) PRINTER_STATUS=$(cat $PAGE_PATH | sed -nre 's#.+/icon_status_([a-z]+).*#\1#p' | sed -n '3p' ) echo $BLACK_INK_STATUS; echo $COLOR_INK_STATUS; echo $PRINTER_STATUS
normal normal normal
Question subsidiaire:
Pourquoi, je ne peux pas modifier mon message original pour y ajouter de nouvelles infos ?
:/
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
15 févr. 2014 à 18:13
15 févr. 2014 à 18:13
Salut,
Parce qu'il y a un délai pour l'édition, et ça se comprend, par exemple, vu que j'ai déjà vu ton 1er message, il est rare que j'y retourne voir une quelconque modif (sauf cas exceptionnel), donc mieux vaut rajouter une réponse, au moins on est averti et c'est mieux ainsi ;-))
Parce qu'il y a un délai pour l'édition, et ça se comprend, par exemple, vu que j'ai déjà vu ton 1er message, il est rare que j'y retourne voir une quelconque modif (sauf cas exceptionnel), donc mieux vaut rajouter une réponse, au moins on est averti et c'est mieux ainsi ;-))
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
15 févr. 2014 à 18:54
15 févr. 2014 à 18:54
Oui c'est pas faux.
Enfaite c'est une habitudes à cause des autres forums, ou justement les gens trouvent plus commode d'avoir un suivie dans le premier post plutôt que de lire 50 messages
Enfaite c'est une habitudes à cause des autres forums, ou justement les gens trouvent plus commode d'avoir un suivie dans le premier post plutôt que de lire 50 messages
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
16 févr. 2014 à 12:05
16 févr. 2014 à 12:05
Re-
Tiens par rapport à tes tests, essaies ça :
Tiens par rapport à tes tests, essaies ça :
$ sed -rn 's#.*icon_status_([^.]*).*#\1#p;/Page Count/{n;n;n;s/ *//p}' plop
normal
normal
normal
313
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
17 févr. 2014 à 01:37
17 févr. 2014 à 01:37
Nickel, c'est ce que je cherché :)
Je vais l'utilisais comme ça:
Je ne pense qu'il doit y'avoir mieux plus selectionne la 2ere 2eme ou 3eme ocuurence, mais en attendant ça fait le boulot :).
Merci pour votre aide.
Je vais l'utilisais comme ça:
BLACK_INK_STATUS=$(cat $PAGE_PATH | sed -rn 's#.+/icon_status_([^.]+).*#\1#p' | sed -n '1p' ) COLOR_INK_STATUS=$(cat $PAGE_PATH | sed -rn 's#.+/icon_status_([^.]+).*#\1#p' | sed -n '2p' ) PRINTER_STATUS=$(cat $PAGE_PATH | sed -rn 's#.+/icon_status_([^.]+).*#\1#p' | sed -n '3p' ) TOTAL_PRINTED_PAGES=$( cat $PAGE_PATH | sed -rn '/Page Count/{n;n;n;s/ *//p}'
Je ne pense qu'il doit y'avoir mieux plus selectionne la 2ere 2eme ou 3eme ocuurence, mais en attendant ça fait le boulot :).
Merci pour votre aide.
p_tony
Messages postés
74
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
18 mars 2015
11
17 févr. 2014 à 17:58
17 févr. 2014 à 17:58
Ce coup de fatigue que j'ai eu ^^'
Et sinon au final je pars sur
Le
Je pense qu'il doit y avoir mieux pour sélectionner la 1ere 2eme ou 3eme occurrence, mais en attendant ça fait le boulot :).
Et sinon au final je pars sur
BLACK_INK_STATUS=$(sed -rn 's#/icon_status_([^.]+).*#\1#p' $PAGE_PATH | sed -n '1p') COLOR_INK_STATUS=$(sed -rn 's#/icon_status_([^.]+).*#\1#p' $PAGE_PATH | sed -n '2p') PRINTER_STATUS=$( sed -rn 's#/icon_status_([^.]+).*#\1#p' $PAGE_PATH | sed -n '3p') TOTAL_PRINTED_PAGES=$(sed -rn '/Page Count/{n;n;n;s/ *//p}' $PAGE_PATH)
Le
cat $PAGE_PATHn'est peut-être pas utile enfaite :)
Modifié par p_tony le 15/02/2014 à 18:00
Je vais préciser, mais du coup j'ai un doute sur le sens de ta question.
Pour les status, je sais que je peux le déterminer à partir des icones de status affichés dans la page:
- icon_status_normal.gif = normal,
- icon_status_warning.gif = warning,
cela veut dire qu'à certains endroits j'ai des chaines
desquelles je veux extraire la sous-chaine entre et ... soit ici .
Sinon pour le nombre total de pages, c'est ici le nombre (313) dans le tableau:
15 févr. 2014 à 18:27
Pour le normal (en parsant le code source de la page) :
Pour le status et le nombre de page (en parsant la sortie formatée avec un navigateur en mode terminal) :
15 févr. 2014 à 18:42
Ca signifie que certaines options ne sont pas présentent.
Ici pas de grep avec l'option -P malheureusement:
et je n'ai pas links non-plus du coup :/ .
une alternative peut-être ? :)
15 févr. 2014 à 18:53
Va falloir parser avec du ou du et oublier links et consort ;-\