我在管道標準輸入到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