• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

Récuperation données curl

symbol

Membre émérite
13 Octobre 2004
511
22
Re-bonjour

Maintenant que tout semble correct, j'aimerais sauvegarder (avec une ligne de commande) dans un fichier texte le résultat que génère le terminal (c'est a dire les données qui sont entourées (ce données changent a chaque fois que je lance le script .sh).



Mais comment faire ?

merci

Mis a jour :
J'ai trouvé " echo les_données >> monfichier.txt"
Je ne sais pas si c'est la meilleure facon ?
 
Dernière édition:

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Il s’agit de la bonne méthode pour rajouter à la fin d’un fichier existant. Cela en créera un nouveau s’il n’existe pas.
Tu peux utiliser un seul « > » pour écraser le contenu du fichier.
Sinon tu as aussi la commande printf à la place du echo. C’est un peu plus puissant mais inutile la plupart du temps
 

symbol

Membre émérite
13 Octobre 2004
511
22
Merci de la réponse.

Par contre mon probleme avec le point d'interrogation en fin de ligne est revenu (voir post précédent).

La page ou j'extraire les données est UTF-8, mon terminal est UTF-8, le fichier ou est sauvegardé les données est UTF-8.



Je ne vois pas ce qui cloche :-/

Mis a jour :
J'ajoute, que les données extraites avec CURL, le sont sur une page d'un forum ou chacun peut poster. Quand je poste, puis que j'importe les données, je n'ai pas de probleme, si quelqu'un ajoute des données a la page, le problème surgit (ou inversement).



J'extraire les données ci-dessous (qui se trouve dans la page du forum)

<div class="reply5559559">@magnetico 09-17-12-13-14-43<br />
@magnetico 09-17-43-62-63-64<br />
@magnetico 09-17-43-58-59-60<br />
@magnetico 09-17-39-40-41-43<br />
@magnetico 09-10-11-12-17-43</div>
</div>

avec la commande ci-dessous
curl -s 'http://kenopronos.free-bb.eu/sujet-612110-792147-98059-1-Postez-Vos-Pronos-Pour-Le-Prochain-Tirage-Ici.html' | sed 's/ <div class="reply[0-9][0-9][0-9][0-9][0-9][0-9][0-9]">//' | sed 's/<\/div>//' | sed 's/<br \/>//' | grep -E '@' | grep -Ev '#|}|{'| sort > /Users/xxx/Desktop/mygames.txt
 
Dernière édition:

symbol

Membre émérite
13 Octobre 2004
511
22
Il me semble que le problème vient de cette ligne

myNumbersThisGame=($(echo "${myGames}" | tr '-' '\n' ))

qu'en pensez-vous ?
 

symbol

Membre émérite
13 Octobre 2004
511
22
Plus d'info

Quand j'ouvre le meme fichier (avec l'editeur TexteMate), je vois un <CR> qui apparait (a la place d'un point d'intero a l'envers lorsque j'ouvre le document avec BBEdit).



la question est : comment retirer ce <CR> ?

merci
 

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Merci d'utiliser les balise [ code ] ton code ici [ /code ] (sans les espaces) pour poster ton code ;)

Il me semble que le problème vient de cette ligne

myNumbersThisGame=($(echo "${myGames}" | tr '-' '\n' ))

qu'en pensez-vous ?
Je n'ai pas ton script complet, ça dépend de ce qu'il y a dans ta variable myGames :D

Quand j'ouvre le meme fichier (avec l'editeur TexteMate), je vois un <CR> qui apparait (a la place d'un point d'intero a l'envers lorsque j'ouvre le document avec BBEdit).
Voila le coupable, c'est une partie du retour chariot windows :)

Une version un peu différente de la tienne. Le dernier sed devrait bien supprimer ton <CR>
Pour info : grep -E = egrep

Bloc de code:
curl -s 'http://kenopronos.free-bb.eu/sujet-612110-792147-98059-1-Postez-Vos-Pronos-Pour-Le-Prochain-Tirage-Ici.html' | sed 's/ *<div class="reply[0-9][0-9][0-9][0-9][0-9][0-9][0-9]">//' | egrep '^@' | egrep -v '#|}|{' | sed 's/<.*//' | sed $'s/\\\r//g' | sort > /Users/xxx/Desktop/mygames.txt
 

symbol

Membre émérite
13 Octobre 2004
511
22
Merci de ta réponse.

Avant de la lire, j'avais (peut être résolu) le problème en ajoutant
Bloc de code:
sed $'s/\r$//'
.
SI j'ai bien compris le problème, ca vient d'une fin de ligne qui etait au format windows. D'après ce que j'ai pigé (?), la commande
Bloc de code:
sed $'s/\r$//'
reformate les fins ligne pour mettre en unix.

SI jamais, mon problème recommence, c'est que j'ai fais fausse route. J'essairai ta proposition.

Je teste sur plusieurs jours :)
 

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Tu as bien compris

Le fin de ligne windows est \r\n
Le fin de ligne unix est \n
 

symbol

Membre émérite
13 Octobre 2004
511
22
Bonjour,

mon projet arrive bientot a terme. Il me reste une chose a faire, c'est assez inhabituel.
Je souhaite convertir un fichier texte en image jpg ou gif ou png.
Je souhaite le faire via le terminal via une ligne de commande

Est-ce possible ????


sinon, peut etre qu'en ligne de commande on peut :
- exporter le fichier texte au format PDF avec "textedit",
- puis le convertir en JPG avec "apercu".



Merci
 
Dernière édition:

symbol

Membre émérite
13 Octobre 2004
511
22
J'ai vu pour imagemagick. Mais pas simple le truc, faut installer des machins....

Concernant, libre office, je l'installe puiss utilise la commande : soffice --convert-to jpg "mon_fichier.txt" et le tour est joué ?
 
Dernière édition:

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Apparemment oui. Le mieux est de tester la commande car ce n’est pas forcément fonctionnel sur mac
 

symbol

Membre émérite
13 Octobre 2004
511
22
ca fonctionne avec
xxx$ /Applications/MES_APPLICATIONS/EDITEURS/LibreOffice.app/Contents/MacOS/soffice --convert-to jpg /Users/xxx/Desktop/RESULTATS.txt

la console m'affiche :
convert /Users/xxx/Desktop/RESULTATS.txt -> /Users/xxx/RESULTATS.jpg using filter : writer_jpg_Export

et j'ai effectivement un fichier .jpg (par contre j'ai pas trouvé comment indiqué a office ou sauvegarder le fichier. Il le met a la racine de "user/mon_compte".

Merci :)
 
Dernière édition:

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Fait un "man soffice" pour voir les options.
Sinon, tu n'as qu'à le déplacer après via la commande mv ;)
 

symbol

Membre émérite
13 Octobre 2004
511
22
Pour générer la photo c'est ok.


Reste plus qu'a l'heberger.... pas si simple !


Mon problème : J'ai une image qui est créée automatiquement et dont le contenu change, mais qui porte toujours le même nom (resultats.jpg).

J'ai besoin d'uploader cette image 2 fois / jour (je le fais via un script .sh automatiquement).

le probleme c'est que si je l'heberge sur le net, le lien qui mene a l'image est renommé a chaque fois quand je la re-upload.
Du coup le lien permanent que je met dans le forum devient obsolete.

Comment faire ?
 

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Là, je ne sais pas. Désolé
Je te conseille d'ouvrir un nouveau sujet pour cette partie ;)
 

symbol

Membre émérite
13 Octobre 2004
511
22
pour finir , dans le terminal, peut on l'empecher d'afficher des lignes vides ?

par exemple, le script affiche :

Samedi 24 février 2018 - Midi :
TIRAGE: 10 14 18 24 28 29 30 36 39 42 43 45 51 52 54 57 58 60 61 70
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°







@jef X1 : 09-14-26-36-44-45-59-60-61-62
------- GAGNANT (14,36,45,60,61).. [5/10]> 2€X1 ------- 2 €


@jef X1 : 09-14-30-36-44-45-59-60
------- GAGNANT (14,30,36,45,60).. [5/8]> 5€X1 ------- 5 €



du coup, les lignes sans texte entre TIRAGE et @jef sont superflues
 

ecatomb

Membre d’élite
Club MacG
21 Septembre 2016
2 285
485
Rajoute un grep comme ceci :
Bloc de code:
egrep -v '^ *$' fichier.txt
Ca supprimera toutes les lignes vides ou ne contenant que des espaces.
^ = début de ligne
$ = fin de ligne
 

symbol

Membre émérite
13 Octobre 2004
511
22
Je me suis mal exprimé.

Regarde ce que le terminal affiche, quand je lance le script.
Je me demande pourquoi il y a autant de lignes vides entre "imac-de-xxx" et "samedi 24 fevrier 2018 s soir"

alors que si je regarde le script, je ne vois pas a quoi ca correponds .

Il me semblait que pour avoir un affichage (meme de ligne vide), il fallait la commande
Bloc de code:
"echo"
. Il n'y aucun
Bloc de code:
"echo"
avant la ligne
Bloc de code:
echo   "${affichagedate}"


 
Dernière édition: