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] }' )
Esta es la versión correcta ya que puede haber varios redireccionamientos 301/302 y finalmente un Content-Disposition:
encabezado para establecer el nombre del archivo
Adivinar el nombre del archivo basado en la URL no siempre es correcto.
Usa el basename
Comando para extraer el nombre de archivo de la URL. Por ejemplo:
url=http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
filename=$(basename "$url")
wget "$url"