如何用jq工具从含多JSON对象的文件中提取首个JSON对象?
提取JSONL文件中第一个JSON对象的正确jq命令
你的问题出在limit(1; .)的用法上——这个函数是对单个JSON对象内部做限制(比如只保留对象的前1个键值对),而不是从JSONL的对象流里取第一个对象。
下面是几种可行的正确命令:
用
input手动读取第一个对象:jq -n 'input' input.jsonl-n参数让jq不自动遍历所有输入对象,而是通过input只读取第一个。用
inputs结合limit:jq -n 'limit(1; inputs)' input.jsonlinputs会读取整个输入流,再用limit(1; ...)截取第一个对象。用内置变量
input_number筛选:jq 'select(input_number == 0)' input.jsonlinput_number从0开始计数,匹配第一个对象即可。
内容的提问来源于stack exchange,提问作者Alex Flint
相关产品推荐
相关产品推荐

