There are similar questions like this one, but nothing exactly the same. Using the new Apple TV screensaver JSON resource as an example, with predictable URLs, (only the numbers after the b and the - change, it seems like it should be fairly trivial to create a pattern that wget can use inside of a function. The latter number only goes up to 4 also.


However, trying this, this and this fail, even with the -nd flag.

I feel like this is something simple and obvious I'm missing.

  • If you can somehow get a list of valid URLs, then you just need to run wget in a loop, or pass it -i. If not, it's very difficult; you'd need to brute-force it.
    – Tom Hunt
    Oct 19, 2015 at 20:30
  • I mentioned the valid URLs. I also included the link. Oct 20, 2015 at 19:12
  • Maybe: wget http://..../b{1..10}-{1..4}.mov?
    – muru
    Oct 20, 2015 at 19:24

1 Answer 1


I know this was a wget question, but if you're open to using curl here's how to do it:

Download and keep original filename

curl -O -L -f http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/b[1-10]-[1-4].mov

Download and use custom filename

curl -o screensaver-b#1-#2.mov -L -f http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/b[1-10]-[1-4].mov

If you wanted to multi thread it, you would just break up the first regex into.. something like:

curl -O -L -f http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/b[1-5]-[1-4].mov -O -L -f http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/b[6-10]-[1-4].mov`

-0 download as same filename as what’s being served

-o customize downloaded file name

-L follow location headers

-f fail silently so you don’t download 404s

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .