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] }' )
Questa è la versione corretta in quanto potrebbero esserci diversi reindirizzamenti 301/302 e infine un Content-Disposition:
header per impostare il nome del file
Indovinare il nome del file in base all'URL non è sempre corretto.
Usa il basename
comando per estrarre il nome del file dall'URL. Ad esempio:
url=http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
filename=$(basename "$url")
wget "$url"