在R中管道两个bash命令:管道错误

ILo*_*ing 4 bash r pipe

我正在尝试在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:写输出:断管用短文件它可以正常工作.我该如何工作呢?

谢谢.

mrb*_*mrb 7

grep抱怨是因为它有超过10行的输出,并head在它完成之前切断它.

我建议隐藏grep的stderr输出(这是打印管道错误的地方).

system("grep 1 tmp.txt 2>/dev/null | head -n 10")
Run Code Online (Sandbox Code Playgroud)

如果你需要从grep看到其他错误,这将不起作用; 在这种情况下,您将需要一个更复杂的解决方案.