если у вас достаточно новый curl (версия 7.20.0 или новее), -J / - remote-header-name - это то, что вам нужно.
Вы используете -J в сочетании с -O , что заставляет curl использовать часть имени файла из URL в качестве основного способа присвоения имени выходному файлу, а затем, если есть Content-disposition: header в ответе curl вместо этого будет использовать это имя.