And also
$ rclone help flags . | grep "^ *--" | wc -l
665
(yes rclone has a command to grep its flags `rclone help flags <regex>`!)That does raise an interesting question though. If one wanted to create a command-line tool (or, rather, toolset) as comprehensive as curl, but with a much smaller API surface, how would they go about it? Sure, some of these flags are just shorthands, and some of them could be removed entirely (-o → stdout redirection), but that still leaves a lot of options.
Perhaaps take a look at the most popular ones every now and then, but a free software project owes the world nothing.
In practice I assume (I have no practical experience) that as the project gets larger the number of involved parties grows. And suddenly you need to balance interests of not just you but also the community, contributors, large users, sponsors and possibly more.
What if I’m running curl directly without a shell (e.g. in a container). How else would I save the output to a file?
If you were starting over from scratch even trying to make it curl-like, you could probably trim down the options substantially.
The OP is in fact an example of a new option that can more-or-less cover the same functionality as some old options, plus more, but the old options remain.
This is one seriously under appreciated piece of code, and I am so grateful that it exists.