【发布时间】:2014-11-13 22:19:25
【问题描述】:
我在 Ubuntu 的命令行中使用 twurl 连接到 Twitter 流 API,并使用 this processor 解析生成的 JSON。我有以下命令,它返回从伦敦发送的推文文本:
twurl -t -d locations=-5.67,50.06,1.76,58.62 language=en -H stream.twitter.com /1.1/statuses/filter.json | jq '.text'
这很好用,但我很难将结果输出到名为 london.txt 的文件中。我尝试了以下方法,但仍然没有运气:
twurl -t -d locations=-5.67,50.06,1.76,58.62 language=en -H stream.twitter.com /1.1/statuses/filter.json | jq '.text' > london.txt
由于我是 Bash 脚本的新手,我确信我误解了正确使用 '>' 和 '>>',所以如果有人能指出我正确的方向,那就太棒了!
【问题讨论】:
-
command > file截断文件并将命令的输出重定向到该文件。>>的作用相同,但它是追加而不是截断。 删除重定向部分,看看正在打印什么。结果就是您应该在文件中看到的内容。 -
谢谢,我明白了。我的问题是这个命令根本没有向文件输出任何东西,
-
当您运行该命令时,您在
london.txt中得到了什么?因为当你在没有重定向的情况下运行它时,你应该得到打印到终端的任何内容。 -
什么都没有!如果我在没有
> london.txt的情况下运行它,我会得到我所期望的。 jq '.text' 仅将推文的文本返回到终端,但我无法将任何内容保存到文件中...... -
如果我们可以自己测试而不需要设置 Twitter 帐户,那就太好了。您能否将返回值的样本复制到公开可用的某个地方(理想情况下,是允许原始访问的 pastebin,因此我们可以运行
curl ... | jq来代替twurl ... | jq来重现您的结果)?