在Rails控制台中绕过--More--

时间:2015-10-25 19:21:10

标签: ruby-on-rails ruby heroku console

我想分析由我的Rails应用程序的用户创建的所有帖子,该应用程序托管在Heroku上。在控制台中,我创建了一个变量,其中包含网站上发布的每个单词,这些单词占据了数十万个单词。我想从控制台导出这些单词以在别处进行分析。

我从这篇文章中读到,使用Tee可以获得控制台输出的副本:

How to export a Ruby Array from my Heroku console into CSV?

问题在于,如果我尝试打印所有单词,控制台总是显示“--More--”,此时我按下回车键以显示更多文本。你可以想象,对于成千上万的单词来说,按下enter来显示整个文本是不切实际的。我怎么能绕过这个?

2 个答案:

答案 0 :(得分:0)

heroku run console | tee output.txt

如果您正在使用上述tee - 技巧,则可以输入q退出终端寻呼机程序(我假设它是http://www.soselectronic.com/a_info/resource/c/20_UM-V1.020130322.pdf),因为tee同时写入进入标准输出(这就是为什么你看到所有输出并且more自动开始寻呼它)和你在参数上给出的文件(在上面的例子中为output.txt)。

由于您不需要/想要查看所有输出,只需退出more并使用该文件执行所需操作。

答案 1 :(得分:0)

您是否尝试过普通的旧unix shell重定向?

heroku run console > output.txt

编写rake任务以输出数据可能更好,因此不会与控制台中发生的其他事情混在一起。当你只使用stdout(例如puts)时,那样的东西应该可以工作:

heroku rake db:postexport > output.txt