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] }' )
Toto je správná verze, protože může existovat několik přesměrování 301/302 a nakonec Content-Disposition:
záhlaví pro nastavení názvu souboru
Odhadování názvu souboru na základě URL není vždy správné.
Použijte basename
příkaz extrahovat název souboru z adresy URL. Například:
url=http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
filename=$(basename "$url")
wget "$url"