1 Long: output 2 Arg: <file> 3 Short: o 4 Help: Write to file instead of stdout 5 See-also: remote-name remote-name-all remote-header-name 6 Category: important curl 7 Example: -o file $URL 8 Example: "http://{one,two}.example.com" -o "file_#1.txt" 9 Example: "http://{site,host}.host[1-5].com" -o "#1_#2" 10 Example: -o file $URL -o file2 https://example.net 11 Added: 4.0 12 --- 13 Write output to <file> instead of stdout. If you are using {} or [] to fetch 14 multiple documents, you should quote the URL and you can use '#' followed by a 15 number in the <file> specifier. That variable will be replaced with the current 16 string for the URL being fetched. Like in: 17 18 curl "http://{one,two}.example.com" -o "file_#1.txt" 19 20 or use several variables like: 21 22 curl "http://{site,host}.host[1-5].com" -o "#1_#2" 23 24 You may use this option as many times as the number of URLs you have. For 25 example, if you specify two URLs on the same command line, you can use it like 26 this: 27 28 curl -o aa example.com -o bb example.net 29 30 and the order of the -o options and the URLs does not matter, just that the 31 first -o is for the first URL and so on, so the above command line can also be 32 written as 33 34 curl example.com example.net -o aa -o bb 35 36 See also the --create-dirs option to create the local directories 37 dynamically. Specifying the output as '-' (a single dash) will force the 38 output to be done to stdout. 39 40 To suppress response bodies, you can redirect output to /dev/null: 41 42 curl example.com -o /dev/null 43 44 Or for Windows use nul: 45 46 curl example.com -o nul 47