是否可以有效地获取JSONL文件的第一条记录而不占用整个流/文件?我能够效率低下的一种方法是:
curl -s http://example.org/file.jsonl | jq -s'。[0]'
我意识到head
可以在这里用来提取第一行,但是假设文件可能不使用换行作为记录分隔符,可能只是连接的对象或数组。
答案 0 :(得分:3)
如果我正确理解,JSONL格式只返回jq对象流,jq处理得非常好。您想要第一个项目的最佳案例场景,您可以使用input
过滤器来获取第一个项目。
我想你可以这样做:
$ curl -s http://example.org/file.jsonl | jq -n 'input'
您需要空输入-n
才能立即处理输入,然后input
只从流中获取一个输入。无需浏览输入流的其余部分。