Sorry for this question, I know that this is a recurrent topic, but I'm incapable of solving my problem, which in fact, is simple to describe: I want to write into a file the output of an execution as it is. I mean, I have an output like this (sorry for the mess):
.251.242.133|:80... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 2371567 (2.3M) [application/x-gzip]\r\nSaving to: `110907_ERP000591.tar.gz\'\r\n\r\n\r 0% [ ] 0 --.-K/s \r 0% [ ] 23,003 104K/s \r 3% [> ] 82,863 184K/s \r 8% [==> ] 192,363 282K/s \r15% [=====> ] 371,943 411K/s \r26% [=========> ] 634,175 563K/s \r39% [==============> ] 925,283 680K/s \r52% [===================> ] 1,250,295 790K/s \r63% [=======================> ] 1,497,035 830K/s \r73% [===========================> ] 1,732,663 861K/s \r81% [==============================> ] 1,937,063 867K/s \r88% [=================================> ] 2,099,123 855K/s \r95% [====================================> ] 2,268,483 847K/s \r100%[======================================>] 2,371,567 849K/s in 2.7s \r\n\r\n2012-11-01 15:34:10 (849 KB/s) - `110907_ERP000591.tar.gz\' saved [2371567/2371567]\r\n\r\n110907_ERP000591/\r\n110907_ERP000591/1_110907_ERP000591_2_fastq.txt\r\n110907_ERP000591/1_110907_ERP000591_1_fastq.txt\r\n/home/travis/opt/bcbb/nextgen/tests/data/automated/../100326_FC6107FAAXX\r\n--2012-11-01 15:34:10-- http://chapmanb.s3.amazonaws.com/100326_FC6107FAAXX.tar.gz\r\nResolving chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)... 205.251.242.133\r\nConnecting to chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)|205.251.242.133|:80... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 7014592 (6.7M) [application/x-gzip]\r\nSaving to: `100326_FC6107FAAXX.tar.gz\'\r\n\r\n\r 0% [ ] 0 --.-K/s \r 0% [ ] 17,163 77.9K/s \r 0% [ ] 64,775 147K/s \r 2% [ ] 174,843 263K/s \r 5% [=> ] 399,683 456K/s \r12% [===> ] 866,883 790K/s \r25% [========> ] 1,798,363 1.33M/s \r45% [================> ] 3,178,955 1.90M/s \r65% [========================> ] 4,592,803 2.41M/s \r65% [========================> ] 4,629,303 2.17M/s \r67% [=========================> ] 4,761,595 2.02M/s \r74% [============================> ] 5,245,423 2.03M/s \r83% [===============================> ] 5,862,435 2.08M/s \r100%[======================================>] 7,014,592 2.46M/s in 2.7s \r\n\r\n2012-11-01 15:34:13 (2.46 MB/s) -
So, as you can see, I have a weirdly formatted output, which is shown like this in the terminal:
/home/travis/opt/bcbb/nextgen/tests/data/automated/../100326_FC6107FAAXX
--2012-11-01 15:34:10-- http://chapmanb.s3.amazonaws.com/100326_FC6107FAAXX.tar.gz
Resolving chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)... 205.251.242.133
Connecting to chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)|205.251.242.133|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7014592 (6.7M) [application/x-gzip]
Saving to: `100326_FC6107FAAXX.tar.gz'
100%[======================================>] 7,014,592 2.46M/s in 2.7s
2012-11-01 15:34:13 (2.46 MB/s) - `100326_FC6107FAAXX.tar.gz' saved [7014592/7014592]
Much nicer... I want to write the output to a file with this form, so I cant just strip the \r\n or something like that, because this way will appear one line for each step in the progress of the download. I just want to write a file with the final output.
Any help?
EDIT:
Sorry, I should have been clearer: It's not the result of a command but, as commented below, the result of the parsing of a json file. You can reproduce the output:
import urllib
import json
string_to_write = json.loads(urllib.urlopen('https://travis-ci.org/jobs/3019024.json').read())['log']
s = 'foo\n\rbar'in Python, and write that out to a file withopen('outfile.txt, 'w').write(s), the file should contain those line endings and render correctly whencated for example.'wb'or'w'mode, not sure. See the comments in the Python docs about reading and writing files.wgetoutput, which assumes a TTY. Perhaps you should use the--progress=dotswitch instead?