我知道有一个-n选项并尝试了很多组合,但无法让它发挥作用。我想打印json文件的行号和每行的长度
cat -n traffictest.json | jq '. |length'
jq -C . | cat -n traffictest.json | jq '. |length'
答案 0 :(得分:1)
jq有一个内置过滤器input_line_number
,它会发出正在读取的输入的行号。例如,给定此输入:
[1,2]
"abcd"
{"a":1,"b":1,"c":1,"d":1, "e":1}
调用:
jq -r "\(input_line_number): \(length)"
的产率:
1: 2
3: 4
5: 5
答案 1 :(得分:0)
如果您只对行号和长度感兴趣,我会使用awk
代替,例如:
awk '{ print NR, length, $0 }' traffictest.json
或者如果你想保持语法高亮:
paste <(jq . traffictest.json | awk '{ print NR, length }' OFS='\t') \
<(jq -C . traffictest.json)