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] }' )
いくつかの 301/302 リダイレクトと最後に Content-Disposition:
がある可能性があるため、これは正しいバージョンです。 ファイル名を設定するヘッダー
URL に基づくファイル名の推測は常に正しいとは限りません。
basename
を使用 URL からファイル名を抽出するコマンド。例:
url=http://pics.sitename.com/images/191211/mxKL17DdgUhcr.jpg
filename=$(basename "$url")
wget "$url"