tyrann27 Posté(e) le 1 février 2007 Partager Posté(e) le 1 février 2007 Hello, J'essaye de faire un script qui me pompe tout ce qu'il y a sur une page. L'astuce est que je n'ai besoin que de certains fichiers (pour le boulot). Comme il y a en moyenne 50 fichiers a télécharger, cliquer 50fois c'est lourd... Donc je download l'index.html, et je le découpe pour récupérer les fichier dont j'ai besoin... Jusque la, pas de problème... cat index.html | grep -i "gestcom" Et j'ai mon code html, mais je dois récupérer l'adresse exacte... Voici le type de ligne par fichier : <img src="/icons/unknown.gif" alt="[ ]"> <a href="ADRESSE A CHOPER">Nom du fichier</a> 07-Jan-2007 05:57 taille Donc en fait, j'aimerais trouver un moyen de choper a partir du herf=" jusqu'au " qui suit. Je tiens vraiment a ne pas faire un système de colonne en comptant les " ou les espaces car le code n'est pas toujours identique car il vient de serveurs différents... Voili voilou, merci d'avance si vous pouvez m'aider Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 1 février 2007 Partager Posté(e) le 1 février 2007 Hello, J'essaye de faire un script qui me pompe tout ce qu'il y a sur une page. L'astuce est que je n'ai besoin que de certains fichiers (pour le boulot). Comme il y a en moyenne 50 fichiers a télécharger, cliquer 50fois c'est lourd... Donc je download l'index.html, et je le découpe pour récupérer les fichier dont j'ai besoin... Jusque la, pas de problème... cat index.html | grep -i "gestcom" Et j'ai mon code html, mais je dois récupérer l'adresse exacte... Voici le type de ligne par fichier : <img src="/icons/unknown.gif" alt="[ ]"> <a href="ADRESSE A CHOPER">Nom du fichier</a> 07-Jan-2007 05:57 taille Donc en fait, j'aimerais trouver un moyen de choper a partir du herf=" jusqu'au " qui suit. Je tiens vraiment a ne pas faire un système de colonne en comptant les " ou les espaces car le code n'est pas toujours identique car il vient de serveurs différents... Voili voilou, merci d'avance si vous pouvez m'aider maListeDUrl=$(sed -e "s/.*href=\"\([^"]*\)\".*/\1/g") Ca devrait le faire (j'ai pas de shell sous la main pour vérifier) En gros, ca te choppe toute la ligne, sauf que le contenu coincé dans les " du href, il est stocké dans une variable de sed, et tout la ligne est remplacé par cette variable ensuite (par l'appel de \1, qui est la variable sed) Par contre, il faut bien que les href soient encadré par des " " EDIT : correction du .* de selection par un [^\"] de fort bon aloi Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 1 février 2007 Auteur Partager Posté(e) le 1 février 2007 Merci mais il y a une erreur de syntaxe car joe me fait une coloration plutot bizarre... En fait je ne sais pas tester tout de suite, donc j'essaye demain... Merci déja Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 1 février 2007 Partager Posté(e) le 1 février 2007 c'est qu'il manque un \ sed -e "s/.*href=\"\([^\"]*\)\".*/\1/g" en plus c'est bien mis dan l'edit comme on dit : "sed, c'est bien" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.