I have the following test.json
file:
{"now": 1685613599.879,"messages": 1347296469,"aircraft": [ {"hex": "7c806e","type": "adsc","flight": "QF94 ","r": "VH-ZNK","t": "B789","alt_baro": 34000,"gs": 475.0,"track": 231.55,"lat": 12.694702,"lon": -146.525860,"nic": 0,"rc": 0,"seen_pos": 24.752,"alert": 0,"spi": 0,"mlat": [],"tisb": [],"messages": 6145890,"seen": 24.8,"rssi": -49.5 }, {"hex": "3c4dc5","type": "adsb_icao","flight": "DLH9LL ","r": "D-ACNE","t": "CRJ9","alt_baro": 5250,"gs": 253.3,"track": 182.72,"lat": 49.848068,"lon": 7.385010,"nic": 8,"rc": 186,"seen_pos": 0.180,"alert": 0,"spi": 0,"mlat": [],"tisb": [],"messages": 9278490,"seen": 0.2,"rssi": -9.7 } ] }
I'm matching certain aircraft
with several select
statements:
jq -r '.aircraft[] | [.lon, .lat, .alt_baro, .seen_pos, .hex ] | select(.[0] > 7) | select(.[0] < 10) | select(.[1] > 49) | select(.[1] < 51) | select(.[2] != null) | select(.[2] != "ground") | select(.[2] < 13000) | @csv' test.json
This part works fine (matches the second aircraft
from the example above):
7.385010,49.848068,5250,0.180,"3c4dc5"
Now my problem: I'm struggling with doing some math on the fly. I want to subtract seen_pos
from now
and use that value in the result. My result should look like
7.385010,49.848068,5250,1685613599.699,"3c4dc5"
I can't figure out how to access now
from the outer array. Would you kindly nudge me in the right direction?