Posté(e) le 1 février 200718 a 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
Posté(e) le 1 février 200718 a 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
Posté(e) le 1 février 200718 a Auteur 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
Posté(e) le 1 février 200718 a 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"
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.