wget: nom du fichier téléchargé
Je suis en train d'écrire un script bash et j'ai besoin d'obtenir le nom du fichier téléchargé à l'aide de wget et de mettre le nom dans $string
par exemple, si j'ai le téléchargement de ce fichier ci-dessous, j'ai envie de mettre son nom mxKL17DdgUhcr.jpg $string
wget http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
45439 (44K) [image/jpeg]
Saving to: «mxKL17DdgUhcr.jpg»
100%[===================================================================================================>] 45 439 --.-K/s в 0s
2011-12-20 12:25:33 (388 MB/s) - «mxKL17DdgUhcr.jpg» saved [45439/45439]
OriginalL'auteur Crazy_Bash | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Utiliser le
basename
de commande pour extraire le nom du fichier à partir de l'url. Par exemple:Avertissement: Ceci ne fonctionnera pas pour les url qui contient les redirections ou du contenu dynamique. Reportez-vous à est la réponse pour la bonne solution.
OriginalL'auteur dogbane
C'est la bonne version car il y a peut être plusieurs 301/302 redirections et enfin un
Content-Disposition:
- tête pour définir le nom de fichierDeviner de nom de fichier basé sur l'URL n'est pas toujours correcte.
match
.tout n'est pas toujours parfaitement exact c'est la bonne approche.
Dans Ubuntu, vous pouvez utiliser:
wget --server-response -q -O - "https://very.long/url/here" 2>&1 | grep "Content-Disposition:" | tail -1 | awk -F"filename=" '{print $2}'
Moderne moyen facile d'obtenir:
wget {link} --content-disposition
OriginalL'auteur est
Vous pouvez simplement spécifier le nom de fichier avant de le télécharger avec le
-O
option pourwget
:OriginalL'auteur pgl
Vous pouvez être explicite sur le nom comme ceci:
OriginalL'auteur holygeek
Pour gérer les URL-encodé les noms de fichiers:
OriginalL'auteur Ian Mackinnon
OriginalL'auteur kev
Je suppose que vous avez déjà l'URL complète du fichier quelque part dans une variable? Utilisez bash paramètre d'extension de bande le préfixe:
OriginalL'auteur knittl
Si vous voulez donner au fichier /nom de l'image en tant que paramètre
essayer cette
Je pense que cela pourrait vous aider à
OriginalL'auteur Ashraf