One can use the R shell on Windows: shell("echo foo.bar | findstr foo")
or an explicit call to the Windows cmd console: system("cmd /c echo foo.bar | findstr foo") On 4/27/07, Tony Plate <[EMAIL PROTECTED]> wrote: > With cygwin bash installed under Windows, one can use pipes in system(), > e.g., like this: > > R 2.5.0 under Windows XP: > > system("echo foo | sed s/foo/bar/") # this doesn't work under windows > foo | sed s/foo/bar/ > > # but using 'bash -c' does: > > system("bash -c \"echo foo | sed s/foo/bar/\"") > bar > > # and some use of quotes within the command actually works! > > system("bash -c \"echo foo | sed 's/foo/bar rrr/'\"") > bar rrr > > > > [Beware: complex quoting inside the -c command can be difficult to get > right.] > > -- Tony Plate > > > Prof Brian Ripley wrote: > > The first comment is that will only work on Unix-alikes, since '|' needs a > > shell. > > > > So, if this is on a Unix-alike you need to establish if the program is in > > the path at run time and cache the result. I have no idea if this would > > actually work, but for example system('gp --version') might provide a > > suitable test. > > > > On Fri, 27 Apr 2007, Robin Hankin wrote: > > > >> Hello > >> > >> Quite often I need higher precision, or larger numbers, > >> than IEEE double precision allows. One strategy I sometimes > >> use is to use system() to call pari/gp, which is not constrained by > >> IEEE. > >> > >> [pari/gp is a GPL high-level mathematical programming language > >> geared towards pure mathematics] > >> > >> Two of my packages contain lines like the following: > >> > >>> system(" echo '1.12^66' | gp -q f",intern=TRUE) > >> [1] > >> "1771.697189476241729649767636564084681203806302318041262248838950177194 > >> 116346432205160921568393661760" > >> > >> Note the high precision of the answer. > >> > >> My question is, how to deal with the possibility that pari/gp is not > >> installed? > >> > >> If the system cannot find gp for some reason, I get: > >> > >>> system(" echo '1.12^66' | gp -q f",intern=TRUE) > >> sh: line 1: gp: command not found > >> character(0) > >> What's the recommended way to handle this eventuality gracefully? The > >> functions that do use pari/gp have "pure" R equivalents (but much > >> slower and less accurate) so I want users to be able to install the > >> package without pari/gp. > >> > >> > >> -- > >> Robin Hankin > >> Uncertainty Analyst > >> National Oceanography Centre, Southampton > >> European Way, Southampton SO14 3ZH, UK > >> tel 023-8059-7743 > >> > >> ______________________________________________ > >> R-devel@r-project.org mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-devel > >> > > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel