【发布时间】:2020-07-17 06:23:10
【问题描述】:
我有一个文本文件,其数据记录如下:
{"input":{"payload":{"id":"rec1","var2":"imp_val1","var3":"","var4":"000000"},"recordName":"typeABC"}}
{"input":{"recordName":"typeBCD","payload":{"var5":"val_var66","recordType":"typeA","id":"rec2","var2":"imp_val2","var3":"","var4":"000000"}}}
{"recordName":"typeEFG","payload":{"var5":"val_var55","recordType":"typeA","id":"rec3","var2":"imp_val3","var3":"","var4":""}}
{"payload":{"id":"rec4","var2":"imp_val4","var3":"","var4":"000000"},"recordName":"typeABC"}
有一个记录名称和有效负载键,其中包含我感兴趣的值。一些记录被包装在另一个键输入中。 我要从所有这些记录中提取 id 和 var2 到一个新的 csv 文件中。
我想如果数据格式是统一的,我可以这样做:
cat file | jq -r "[.payload.id, .payload.var2] | @csv" > newFile
或
cat file | jq -r "[.input.payload.id, .input.payload.var2] | @csv" > newFile
任何指针?
【问题讨论】: