« Offtopic  |

Hilfe bei linux JQ Kommandozeilenutility

Teilen: facebook    whatsapp    email
  •  kraweuschuasta
  •   Gold-Award
1.2.2025
3 Antworten | 3 Autoren 3
3
Mahlzeit allerseits,

kann mir we bitte beim parsing von einer JSON Antwort mit jq (Linux bash) helfen, bin zu blöd dafür...

Daten sind eher umfangreich - von einer Wetter API - möchte da die für mich relevanten Daten rausfiltern...

LG und danke Wolfgang

  •  schup
1.2.2025  (#1)
Mahlzeit,

Ein paar Details wären hilfreich.
Json Beispiel und was Du daraus extrahieren willst.

Wie soll das Ausgabeformat ausschauen?

Was hast Du dann mit den Daten vor?

1
  •  energiesparhaus
  •   Dieses Logo kennzeichnet einen Beitrag des energiesparhaus.at-Teams
1.2.2025  (#2)
ChatGPT schon versucht? Wir finden der programmiert erstaunlich gut. 

1
  •  kraweuschuasta
  •   Gold-Award
1.2.2025  (#3)
Heyho,

@schup
Danke fürs Angebot, json hätte ich dann eh geschickt, ist nur recht groß.

@­energiesparhaus 
Super vielen Dank fü r den Tip, hat funktioniert! Auf die Idee mit ChatGPT binich gar ned bekommen, hab es bis dato nur für paar bash snippets und python hits versucht.
(und für ein Muttertagsgedicht, aber pssst emoji )

Zum Hintergrund, ich hol mir von https://forecast.meteonomiqs.com die Prognose und will mir nur für die nächsten 3 Tage Infos über Sonneneinstrahlung und Wolkität rauskitzeln.

== JSON SNIP (unvollständig) ===
{"summary":[{"date":"2025-01-31","dateWithTimezone":"2025-01-30T23:00:00Z","from":"2025-01-31T05:00:00Z","to":"2025-01-31T21:00:00Z","freshSnow":0,"snowHeight":null,"weather":{"state":2,"text":"wolkig","icon":"n_w_2.svg"},"weatherNg":{"state":2,"text":"wolkig","icon":"n_w_2.svg"},"prec":{"sum":0,"probability":35,"sumAsRain":null,"class":0},"sunHours":1,"rainHours":null,"temperature":{"min":2,"max":7,"avg":null},"wind":{"unit":"km/h","direction":"Südwestwind","text":"SW","avg":null,"min":2,"max":27,"mean":14,"degree":225,"gusts":{"value":51,"text":null},"significationWind":true},"windchill":{"min":-1,"max":5,"avg":null},"pressure":{"min":1022,"max":1032,"mean":1027},"relativeHumidity":{"min":61,"max":93,"mean":73},"clouds":{"min":58,"max":100,"mean":84},"snowLine":{"avg":null,"min":null,"max":null,"unit":"m"},"astronomy":{"dawn":"2025-01-31T06:52:17+01:00","sunrise":"2025-01-31T07:25:47+01:00","suntransit":"2025-01-31T12:09:54+01:00","sunset":"2025-01-31T16:54:35+01:00","dusk":"2025-01-31T17:28:06+01:00","moonrise":"2025-01-31T08:38:28+01:00","moontransit":"2025-01-31T13:55:06+01:00","moonset":"2025-01-31T19:25:55+01:00","moonphase":2,"moonzodiac":12},"highestWarning":null},{"date":"2025-02-01","dateWithTimezone":"2025-01-31T23:00:00Z","from":"2025-02-01T05:00:00Z","to":"2025-02-01T21:00:00Z","freshSnow":0,"snowHeight":null,"weather":{"state":1,"text":"leicht bewölkt","icon":"d_1.svg"},"weatherNg":{"state":1,"text":"leicht bewölkt","icon":"d_1.svg"},"prec":{"sum":0,"probability":10,"sumAsRain":null,"class":0},"sunHours":5,"rainHours":null,"temperature":{"min":-1,"max":5,"avg":null},"wind":{"unit":"km/h","direction":"Nordostwind","text":"NO","avg":null,"min":3,"max":15,"mean":7,"degree":45,"gusts":{"value":29,"text":null},"significationWind":false},"windchill":{"min":-2,"max":2,"avg":null},"pressure":{"min":1027,"max":1033,"mean":1030},"relativeHumidity":{"min":53,"max":86,"mean":73},"clouds":{"min":34,"max":75,"mean":55},"snowLine":{"avg":null,"min":null,"max":null,"unit":"m"},"astronomy":{"dawn":"2025-02-01T06:51:04+01:00","sunrise":"2025-02-01T07:24:28+01:00","suntransit":"2025-02-01T12:10:02+01:00","sunset":"2025-02-01T16:56:11+01:00","dusk":"2025-02-01T17:29:36+01:00","moonrise":"2025-02-01T08:55:46+01:00","moontransit":"2025-02-01T14:44:11+01:00","moonset":"2025-02-01T20:48:26+01:00","moonphase":2,"moonzodiac":12},"highestWarning":null},{"date":"2025-02-02","dateWithTimezone":"2025-02-01T23:00:00Z","from":"2025-02-02T05:00:00Z","to":"2025-02-02T21:00:00Z","freshSnow":0,"snowHeight":null,"weather":{"state":3,"text":"bedeckt","icon":"d_3.svg"},"weatherNg":{"state":3,"text":"bedeckt","icon":"d_3.svg"},"prec":{"sum":0,"probability":0,"sumAsRain":null,"class":0},"sunHours":1,"rainHours":null,"temperature":{"min":-1,"max":3,"avg":null},"wind":{"unit":"km/h","direction":"Südwestwind","text":"SW","avg":null,"min":3,"max":6,"mean":4,"degree":225,"gusts":{"value":15,"text":null},"significationWind":false},"windchill":{"min":-2,"max":2,"avg":null},"pressure":{"min":1023,"max":1026,"mean":1024},"relativeHumidity":{"min":69,"max":90,"mean":79},"clouds":{"min":74,"max":100,"mean":93},"snowLine":{"avg":null,"min":null,"max":null,"unit":"m"},"astronomy":{"dawn":"2025-02-02T06:49:49+01:00","sunrise":"2025-02-02T07:23:06+01:00","suntransit":"2025-02-02T12:10:09+01:00","sunset":"2025-02-02T16:57:47+01:00","dusk":"2025-02-02T17:31:06+01:00","moonrise":"2025-02-02T09:11:56+01:00","moontransit":"2025-02-02T15:32:30+01:00","moonset":"2025-02-02T22:10:20+01:00","moonphase":2,"moonzodiac":12},"highestWarning":null},{"date":"2025-02-03","dateWithTimezone":"2025-02-02T23:00:00Z","from":"2025-02-03T05:00:00Z","to":"2025-02-03T21:00:00Z","freshSnow":0.01,"snowHeight":null,"weather":{"state":2,"text":"wolkig","icon":"d_2.svg"},"weatherNg":{"state":2,"text":"wolkig","icon":"d_2.svg"},"prec":{"sum":0,"probability":15,"sumAsRain":null,"class":0},"sunHours":3,"rainHours":null,"temperature":{"min":-2,"max":4,"avg":null},"wind":{"unit":"km/h","direction":"Südwind","text":"S","avg":null,"min":1,"max":6,"mean":4,"degree":180,"gusts":{"value":14,"text":null},"significationWind":false},"windchill":{"min":-4,"max":3,"avg":null},"pressure":{"min":1027,"max":1031,"mean":1028},"relativeHumidity":{"min":65,"max":96,"mean":79},"clouds":{"min":58,"max":93,"mean":74},"snowLine":{"avg":null,"min":null,"max":null,"unit":"m"},"astronomy":{"dawn":"2025-02-03T06:48:32+01:00","sunrise":"2025-02-03T07:21:43+01:00","suntransit":"2025-02-03T12:10:15+01:00","sunset":"2025-02-03T16:59:23+01:00","dusk":"2025-02-03T17:32:36+01:00","moonrise":"2025-02-03T09:28:31+01:00","moontransit":"2025-02-03T16:21:22+01:00","moonset":"2025-02-03T23:32:49+01:00","moonphase":2,"moonzodiac":1},"highestWarning":null},{"date":"2025-02-04","dateWithTimezone":"2025-02-03T23:00:00Z","from":"2025-02-04T05:00:00Z","to":"2025-02-04T21:00:00Z","freshSnow":0,"snowHeight":null,"weather":{"state":0,"text":"sonnig","icon":"d_0.svg"},"weatherNg":{"state":0,"text":"sonnig","icon":"d_0.svg"},"prec":{"sum":0,"probability":0,"sumAsRain":null,"class":0},"sunHours":9,"rainHours":null,"temperature":{"min":-2,"max":4,"avg":null},"wind":{"unit":"km/h","direction":"Ostwind","text":"O","avg":null,"min":1,"max":11,"mean":5,"degree":90,"gusts":{"value":23,"text":null},"significationWind":false},"windchill":{"min":-2,"max":2,"avg":null},"pressure":{"min":1032,"max":1034,"mean":1033},"relativeHumidity":{"min":56,"max":85,"mean":72},"clouds":{"min":0,"max":57,"mean":12},"snowLine":{"avg":null,"min":null,"max":null,"unit":"m"},"astronomy":

jq -r '.summary[0:3] | .[] | "\ndate: \(.date)\nweather: \(.weather.text)\nsunHours: \(.sunHours)\nrainHours: \(.rainHours)\nclouds: min: \(.clouds.min), max: \(.clouds.max), mean: \(.clouds.mean)"' 

Ergebnis:
date: 2025-01-31
weather: wolkig
sunHours: 1
rainHours: null
clouds: min: 58, max: 100, mean: 84

date: 2025-02-01
weather: leicht bewölkt
sunHours: 5
rainHours: null
clouds: min: 34, max: 75, mean: 55

date: 2025-02-02
weather: bedeckt
sunHours: 1
rainHours: null
clouds: min: 74, max: 100, mean: 93

LG Wolfgang

1



Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Nachbar Hund bellt viel zu viel