Script de téléchargement

Résolu/Fermé
Agirl Messages postés 20 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 30 novembre 2010 - 30 nov. 2010 à 09:14
 Agirl - 3 déc. 2010 à 11:35
Bonjour,



Je suis nouvelle et j'ai besoin de votre aide.
je veux créer un script shell qui permet de chercher et télécharger les dernières versions disponibles à partir d'un site.
pour se connecter j'ai utiliser:

wget http://url

Le problème c'est comment détecter le dernier lien de téléchargement disponible et le passer à cette commande. En fait il y a à chaque fois une nouvelle release. Donc le lien change.

merci beaucoup pour votre aide.
A voir également:

21 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
2 déc. 2010 à 18:55
Bon après moultes essais et une bonne prise de tête pour trouver les bonnes limites, voilà ce que j'obtiens en filtrant avec sed le fichier que tu m'as envoyé sur Cijoint...

$ sed -n '/title="Monitor this package"/,/\.zip/ s|.*\(/file[^"]*zip\).*|\1|p' cijiFH6jDK.txt
/file/download.php/1841/22700/p3258_r13498/com.st.st40.microtoolset.updatesite.zip
/file/download.php/1841/22701/p3259_r13499/com.st.st200.microtoolset.updatesite.zip
/file/download.php/1841/22665/p3266_r13474/com.st.st40.systemanalysis.updatesite.5.2.0.20101125.zip
/file/download.php/1841/22441/p3262_r13361/com.st.stlinux.updatesite.base.zip

C'est les bonnes URL ?
0
merci beaucoup pour votre énorme effort.
le résultat n'est pas tout à fait correct:
les deux premiers paquetages sont bons et leux autres non.
en fait je cherche les dernières versions de:
-com.st.st40.microtoolset.updatesite.zip
-com.st.st200.microtoolset.updatesite.zip
-com.st.stlinux.updatesite.zip
-com.st.stlinux.systemanalysis.updatesite.*.zip
-com.st.stlinux.systemanalysis.windows.updatesite.*.zip
j'ai mis des étoiles dans le nom de derniers paquetages parce qu'il représente des numéros de version.
est ce que vous pouvez m'expliquer la commande et je vais essayer de l'adapter.

merci beaucoup une autre fois.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
3 déc. 2010 à 09:15
J'ai jeté un oeil vite fait ce matin et le problème c'est qu'il est assez difficile de construire des règles précises ciblant ce que tu veux ;-((

Au départ il était question de récupérer le 1er fichier de chaque section (/file/.../*.zip), là en regardant de plus près, com.st.stlinux.systemanalysis.windows.updatesite.*.zip est en 4ème position ;-((

Donc ça va être ardu de pondre des requêtes précises ;-\

Pour les explications de la syntaxe précédente :

-n
Affichage sur demande (d'où le "p" en fin de ligne, voir plus bas)


'/title="Monitor this package"/,/\.zip/
On ne cible que les paragraphes compris entre /title="Monitor this package" et la première ligne contenant \.zip.


s|.*\(/file[^"]*zip\).*|
Dans cette intervalle, on matche (avec la même regex que pour grep) l'URL en question.


\1
Correspondance (référence arrière) de la regex placée entre parenthèse


p
Qu'on affiche

:-))
0
Vous avez raison c'est une autre famille de paquetages et je dois récupérer ceux de la troisième et quatrième position.
càa à chaque release, il y 4 nouveaux paquetages ajouté et j'ai besoin de celui de position 3 et 4.
pour le paquetage com.st.stlinux.update.zip.
vous n'avez pas d'idée. En fait la structure est différente des autres.

merci beaucoup
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
3 déc. 2010 à 11:10
Bon ben désolé, mais malgré plusieurs tentatives, voilà tout ce que j'arrive à obtenir avec des moulinettes pas toujours du meilleurs goût ;-\

$ egrep -o  '/file[^"]*zip' cijiFH6jDK.txt | sort  -r -t '/' -k 6 -k 5 | sed 's#/p# &#;s#/# #6' | uniq  -1 -w 13 | uniq -2 | sort -n -k 3 | uniq -2 -w 30 | sed 's# ##g'
/file/download.php/1841/20053/p3266_r12135com.st.stlinux.systemanalysis.windows.updatesite.5.0.0.201006151012.zip
/file/download.php/1841/22441/p3262_r13361com.st.stlinux.updatesite.base.zip
/file/download.php/1841/22619/p3266_r13453exampleScripts.zip
/file/download.php/1841/22668/p3266_r13474com.st.stlinux.systemanalysis.windows.updatesite.5.2.0.20101125.zip
/file/download.php/1841/22700/p3258_r13498com.st.st40.microtoolset.updatesite.zip
/file/download.php/1841/22701/p3259_r13499com.st.st200.microtoolset.updatesite.zip


Désolé ;-(
0
je vous remercie infiniment pour votre aide. Je vais essayer de la trouver.
Vous êtes hyper gentil.
merci infiniment :)
0