|
|
|
|
|
by girvo
3240 days ago
|
|
Word of advice: the 'jq' tool for handling JSON files (couple with a glob like '*.log' or something fancier with xargs or parallel) will absolutely save your bacon in those situations. It's way more powerful than it appears on the surface. We had a series of Docker json-file driver log files. It's done as a raw list (no array around it) of JSON objects -- which is a bit annoying to sort and filter based on properties of the objects. 'jq '[inputs]' (asterisk).log > combined.json' was my favourite command today; it combines all the files inputs and wraps them in an array correctly. No awk needed! Combine that with its cute: jq '.someProp as $var | test("some search"; "gi") as $r | if $r then ($var + $__loc__) else null end' (asterisk).log | grep -v "^null$" > filtered.json And you're away to the races. Can then load the file directly in and group_by(.somePath) and it will all magically work! Edit: had to remove the actual asterix symbols as they screw with formatting but are used for globbing the file names. Replace with the real character |
|