有效地获取JSONL文件的第一条记录

时间:2016-03-02 14:51:27

标签: json jq jsonlines

是否可以有效地获取JSONL文件的第一条记录而不占用整个流/文件?我能够效率低下的一种方法是:

  

curl -s http://example.org/file.jsonl | jq -s'。[0]'

我意识到head可以在这里用来提取第一行,但是假设文件可能不使用换行作为记录分隔符,可能只是连接的对象或数组。

1 个答案:

答案 0 :(得分:3)

如果我正确理解,JSONL格式只返回jq对象流,jq处理得非常好。您想要第一个项目的最佳案例场景,您可以使用input过滤器来获取第一个项目。

我想你可以这样做:

$ curl -s http://example.org/file.jsonl | jq -n 'input'

您需要空输入-n才能立即处理输入,然后input只从流中获取一个输入。无需浏览输入流的其余部分。