wget --server-response -q -O - "https://very.long/url/here" 2>&1 |
grep "Content-Disposition:" | tail -1 |
awk 'match($0, /filename=(.+)/, f){ print f[1] }' )
C'est la bonne version car il peut y avoir plusieurs redirections 301/302 et enfin une Content-Disposition:
en-tête pour définir le nom du fichier
Deviner le nom du fichier en fonction de l'URL n'est pas toujours correct.
Utilisez le basename
commande pour extraire le nom de fichier de l'URL. Par exemple :
url=http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
filename=$(basename "$url")
wget "$url"