Sé que hay una opción -n y probé muchas combinaciones pero no pude hacerlo funcionar. Me gustaría imprimir el número de línea y la longitud de cada línea para el archivo json
cat -n traffictest.json | jq ". |length"
jq -C . | cat -n traffictest.json | jq ". |length"
Respuestas
1 para la respuesta № 1jq tiene un filtro incorporado, input_line_number
, que emite el número de línea de la entrada que se está leyendo. Por ejemplo, dada esta entrada:
[1,2]
"abcd"
{"a":1,"b":1,"c":1,"d":1, "e":1}
la invocación
jq -r "(input_line_number): (length)"
rendimientos:
1: 2
3: 4
5: 5
0 para la respuesta № 2
Si solo te interesa el número de línea y la longitud, usaría awk
en su lugar, por ejemplo:
awk "{ print NR, length, $0 }" traffictest.json
O si quieres mantener el resaltado de sintaxis:
paste <(jq . traffictest.json | awk "{ print NR, length }" OFS="t")
<(jq -C . traffictest.json)