Curl grep & Sed

Résolu
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis confronté a un réel problème, je dois utiliser curl sous shell pour des problemes de serveur php. MAIS, je ne connais absolument rien a shell.

Je développe, j'ai créé un script shell qui se contente d'afficher le contenu de la page que je souhaite parser
#!/bin/bash

code='curl -s https://www.loups-garous-en-ligne.com/api/badges.php?pseudo=Mjackson 
$echo"$code"


Mais maintenant que j'ai tout ce code, je souhaite attribuer a une variable Var1 les informations contenues entre
badge1":"
et
"


Je dois utiliser grep et sed il me semble, sauf que je n'y connais rien, je vous demande donc votre aide, merci d'avance :)

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
une soluion avec awk
$ var1=$(curl -s http://www.loups-garous-en-ligne.com/api/badges.php?pseudo=Mjackson | awk 'BEGIN{RS=","; FS="\""} /badge1[^0-9]/ {print $4}' )
$ echo $var1
2
1
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
avec grep:
$ var1=$(curl -s http://www.loups-garous-en-ligne.com/api/badges.php?pseudo=Mjackson | grep -oP '(?<="badge1":")[[:alnum:]]*')
$ echo $var1
2
1
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   6
 
J'ai finis mon script avec awk, mais merci quand même ;)

Mais, puisque je te tiens, je n'arrive pas a configurer cron pour que mon script se lance toutes les heures, t'as pas une idée ? :(
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
montre ce qu'affiche :
crontab -l
0
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   6
 
"no crontab for boris"

pourtant je l'ai déjà configuré, mais j'ai bien vu qu'il ne prenait pas en compte mes demandes :(
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
avec crontab -e saisir : 0 1 * * * /chemin/script > $HOME/cronlog 2>&1
tout les messages vont dans cronlog
0
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   6
 
Ok, merci bien, j'ai fait tout ça, et j'ai refais un
crontab -l
et il m'affiche le fichier que je viens d'editer, avec donc la ligne du chemin de mon fichier, j'edit mon message dans une heure pour te dire si tout marche parfaitement :)
0
MichaelOfCourse Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci beaucoup, je ne connaissais pas du tout awk, j'aime bien savoir comment ça marche du coup je vais me renseigner dessus, mais... CA MARCHE !

Donc c'est génial, en plus j'ai testé me suffit de changer badge1 en badge10 par exemple, et les bonnes variables apparaissent, c'est... génial !

Merci à toi dubcek !
0