Me gustaría tomar aproximadamente 50 archivos json, y simplemente concatenarlos con jq.

Los archivos se ven así

file-1.json

{
  "name": "john"
}

file-2.json

{
  "name": "Xiaoming"
}

Quiero un archivo

file-all.json

Eso parece como:

[
  {
    "name": "Xiaoming"
  },
  {
    "name": "Xiaoming"
  }
]

Una matriz de todos los otros archivos.

¿Cómo puedo hacer eso? : (

0
Costa 16 abr. 2020 a las 02:13

2 respuestas

La mejor respuesta

Si sus archivos se nombran siguiendo una secuencia como en su ejemplo, puede usar esto:

jq -s '.' file-{1..50}.json > file-all.json
1
luciole75w 15 abr. 2020 a las 23:25

Si desea que todos los objetos de esos archivos se combinen en una sola matriz:

jq -n '[inputs]' file-{1..50}.json > file-all.json
0
Shawn 16 abr. 2020 a las 00:25