使用jq处理JSON数组行数据时如何在输出内容中插入换行符
问题描述
假设我有如下结构的JSON数据:
{ "records": [ { "id": 1, "name": "hello" }, { "id": 2, "name": "world" } ] }
当前我使用以下命令查询:
$ jq -r '.records[] | "id: \(.id) name: \(.name)"' afile.json id: 1 name: hello id: 2 name: world
请问我要如何插入换行符,才能得到如下所示的输出结果:
id: 1 name: hello id: 2 name: world
解答
你只需在jq的字符串模板中使用转义换行符\n控制换行即可,单条记录末尾额外加一个\n就能实现不同记录之间的空行分隔。
正确命令如下:
jq -r '.records[] | "id: \(.id)\nname: \(.name)\n"' afile.json
执行后即可得到你需要的输出格式。
内容的提问来源于stack exchange,提问作者eftshift0
相关产品推荐
相关产品推荐

