我在管道标准输入到R脚本时遇到问题。管道标准输入到R
这里是我的玩具脚本test.R
:
#!/usr/bin/env Rscript
while(length(line <- readLines('stdin', n=1, warn=FALSE)) > 0) {
write(line, stderr())
# process line
}
我想经过每一行,并做一些处理。这里是我的输入文件名为input
:
aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
如果我做
cat input | test.R
我只得到:
aaaaaa
有什么,我错过了什么?
太好了。这工作。谢谢。 – WYi 2012-02-21 02:01:37
我们是否需要最终关闭文件? – 2014-11-16 23:08:22
如果你想让R做更典型的“unix-y”事情,并等待stdin的输入(所以答案中的代码的行为与没有参数运行cat类似),那么你需要使用open(f ,blocking = TRUE)'。 – dshepherd 2015-03-26 12:07:23