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@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. ______________________________________________ R-help@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.