5
cat 2.txt | ./jq '{(.id): .custom}'

以上命令输出

{
  "1": {
    "results": "Success"
  }
}
{
  "2": {

    "input method": "touch",
    "from": "Prescription Center",

  }
}
{
  "3": {

    "entry point": "|All"
  }

}

预期输出:

我想打印/保存一行中的每个对象。

cat 2.txt | ./jq '{(.id): .custom}'

{ "1": {  "results": "Success" }  }
{ "2": {  "input method": "touch",  "from": "Prescription Center"  }  }
{ "3": {  "entry point": "|All" } }

可以在shell脚本中使用吗?

4

1 回答 1

15

根据jq 手册

  • --compact-output/ -c:

    默认情况下,jq 漂亮地打印 JSON 输出。使用此选项将通过将每个 JSON 对象放在一行中来生成更紧凑的输出。

因此,以下应该起作用:

cat 2.txt | ./jq -c '{(.id): .custom}'
于 2014-08-24T06:08:32.503 回答