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"