On 26 August 2007 at 22:47, Fran?ois Pinard wrote:
| I met a little problem for which someone might have a solution. Let's
| say I have an executable file (named "pp.R") with this contents:
|
| #!/usr/bin/Rscript
| options(echo=TRUE)
| a <- 1
| Sys.sleep(3)
| a <- 2
|
| If I execute "./pp.R" at the shell prompt, the output shows the
timely
| progress of the script as expected. If I use "./pp.R | tee OUT"
| instead, the output seems buffered and I see it all at once at the end.
|
| The problem does not come from the "tee" program, as if I use this
| command:
|
| (echo a; sleep 5; echo b) | tee OUT
|
| the output is timely, not batched.
|
| So, is there a way to tell R (or Rscript) that standard output should be
| unbuffered, even if it is not directly connected to a terminal?
Use explicit print statements, e.g. print(a <- 1)
Also, you still have little as an alternate, at least on Unix [1]. Littler5D
actually won't show anything unless you explicitly call cat() or print(),
but
then it does:
qa-v40z1:~/svn/hancock/app/aggposview> cat /tmp/fp2.r
#!/usr/bin/env r
options(echo=TRUE)
cat(a <- 1, "\n")
Sys.sleep(3)
cat(a <- 2, "\n")
foo:~> /tmp/fp2.r | tee /tmp/fp2.r.out
1
2
foo:~>
Littler is an 'all-in' binary and starts and runs demonstrably faster
than
Rscript.
Hth, Dirk
[1] And despite the rather petty refusal of Rscript's main author to a least
give a reference to littler in Rscript's documentation, let alone credit as
'we were there first', the fact remains that littler became available in
Sep
2006 whereas Rscript was not released until R 2.5.0 a good six month
later. Oh well.
| In case useful, here is local R information:
|
| Version:
| platform = x86_64-unknown-linux-gnu
| arch = x86_64
| os = linux-gnu
| system = x86_64, linux-gnu
| status =
| major = 2
| minor = 5.1
| year = 2007
| month = 06
| day = 27
| svn rev = 42083
| language = R
| version.string = R version 2.5.1 (2007-06-27)
|
| Locale:
|
LC_CTYPE=fr_CA.UTF-8;LC_NUMERIC=C;LC_TIME=fr_CA.UTF-8;LC_COLLATE=fr_CA.UTF-8;LC_MONETARY=fr_CA.UTF-8;LC_MESSAGES=fr_CA.UTF-8;LC_PAPER=fr_CA.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=fr_CA.UTF-8;LC_IDENTIFICATION=C
|
| Search Path:
| .GlobalEnv, package:stats, package:utils, package:datasets, fp.etc,
package:graphics, package:grDevices, package:methods, Autoloads, package:base
|
| --
| Fran?ois Pinard http://pinard.progiciels-bpi.ca
|
| ______________________________________________
| R-help at stat.math.ethz.ch mailing list
| https://stat.ethz.ch/mailman/listinfo/r-help
| PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
| and provide commented, minimal, self-contained, reproducible code.
--
Three out of two people have difficulties with fractions.