【问题标题】:how do I grep output of curl when the website never finishes当网站永远不会完成时,我如何grep curl的输出
【发布时间】:2017-05-04 00:32:30
【问题描述】:

Particle.io 的 api 说你可以curl https://api.particle.io/v1/devices/events?access_token=[token] 来查看事件日志。这很好用,除了它们似乎有规律地打印换行符,所以我最终得到了几条日志消息和大量换行符。

我很想用 grep 输出来修剪换行符(grep -A3 event 会很完美),但是当我将 curl 传递给 grep 时,我什么也得不到。 (我用 -s 抑制了进度指示器)。为了确保我没有输错任何东西,我将 curl 输出通过管道传输到 cat,但仍然没有得到任何结果(它最初打印 :ok 时只是没有管道,所以很清楚它是否工作得很快)。

我的猜测是 curl 在完成下载目标之前不会通过管道提供数据(在这种情况下永远不会发生)。

有什么办法可以像这样 grep curl?

【问题讨论】:

    标签: bash curl grep pipe


    【解决方案1】:

    curl 实用程序采用 -N 命令行参数来取消缓冲输出,因此请尝试:

    curl -s -N ... | grep -A3 event
    

    这应该可以满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多