Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/12/2010, à 00:38

nesthib

[script]télécharger récursivement le dernier dossier dans un lien HTTP

wget est un outil très puissant, avec de très nombreuses options, parfois trop d'options, si bien que l'on peut s'y perdre.
La fonction bash qui suit permet de télécharger récursivement dans le dossier courant le dernier dossier de l'adresse HTTP fournie en argument. À ajouter dans votre ~/.bashrc (pensez à relancer le terminal).

function smartwget () {
    chemin=${1%/}
    number=$(( $(sed "s|/|\n|g" <<<${chemin#http://*/} | wc -l) - 1 ))
    [[ ${number} -gt 0 ]] && arg="--cut-dirs=${number}"
    wget -r -np -nH $arg -R "index.htm*" ${1}
}

brève explication :
les premières lignes servent à calculer la profondeur des sous-dossiers
-r : récusif
-np : ne pas remonter vers les parents
-nH : ne pas créer de dossier contenant le nom de la racine du site
-R "index.htm*" : ne pas télécharger les fichiers index.htm*
--cut-dirs=${number} : si la profondeur est supérieure à 0, ne pas recréer localement l'arborescence du serveur distant


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#2 Le 04/04/2014, à 16:41

JujuLand

Re : [script]télécharger récursivement le dernier dossier dans un lien HTTP

Bonjour,

Désolé de déterrer ce vieux post.

Ce script m'intéresse.
Je l'ai ajouté à .bashrc, mais je n'ai pas trouvé comment le lancer.

Merci
A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#3 Le 05/04/2014, à 05:05

nesthib

Re : [script]télécharger récursivement le dernier dossier dans un lien HTTP

smartwget http://example.org/chemin/vers/un/dossier/

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#4 Le 05/04/2014, à 08:06

JujuLand

Re : [script]télécharger récursivement le dernier dossier dans un lien HTTP

Hier, avec le même code, çà ne fonctionnait pas, malgré une fermeture de session ?
J'ai du merder, car çà fonctionne nickel, sans que je ne touche quelque chose.

Merci
A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne