I am having trouble piping stdin to an R script.
Here is my toy script test.R
:
#!/usr/bin/env Rscript
while(length(line <- readLines('stdin', n=1, warn=FALSE)) > 0) {
write(line, stderr())
# process line
}
I'd like to go through each line and do some processing. Here is my input file named input
:
aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
If I do
cat input | test.R
I only get:
aaaaaa
Is there anything that I missed?
This does not happen if you explicitly open the stdin connection.
#!/usr/bin/env Rscript
f <- file("stdin")
open(f)
while(length(line <- readLines(f,n=1)) > 0) {
write(line, stderr())
# process line
}