我正在尝试在R中管道两个bash命令但是我得到一个损坏的管道错误; 任何建议表示赞赏.我就在这里:
#Create a long file (2GB on your drive...)
write.csv(rep(1,1E8),file="long.txt", row.names=FALSE)
system("grep 1 tmp.txt") #This works
system("grep 1 tmp.txt| head -n 10") #This gives a broken pipe error
Run Code Online (Sandbox Code Playgroud)
我得到grep:写输出:断管用短文件它可以正常工作.我该如何工作呢?
谢谢.
grep抱怨是因为它有超过10行的输出,并head在它完成之前切断它.
我建议隐藏grep的stderr输出(这是打印管道错误的地方).
system("grep 1 tmp.txt 2>/dev/null | head -n 10")
Run Code Online (Sandbox Code Playgroud)
如果你需要从grep看到其他错误,这将不起作用; 在这种情况下,您将需要一个更复杂的解决方案.
| 归档时间: |
|
| 查看次数: |
4701 次 |
| 最近记录: |