Mastering jq (codefaster.substack.com)
from learnbyexample@programming.dev to linux@lemmy.ml on 11 Jul 12:51
https://programming.dev/post/33730549

#linux

threaded - newest

FishFace@lemmy.world on 11 Jul 13:58 next collapse

I asked an LLM to write a jq scriptlet for me today. It wasn’t even complicated, it just beat working it out/trying to craft the write string to search Stackoverflow for.

beejjorgensen@lemmy.sdf.org on 11 Jul 20:35 collapse

I tried and failed to get an LLM to write jq code to do a regex based matcher for finding if one json object was a subset of another.

Gave up and learned it enough to get it going. jq is nutso powerful.

FishFace@lemmy.world on 11 Jul 21:27 collapse

I don’t understand how regex comes into it? Sounds tricky though!

beejjorgensen@lemmy.sdf.org on 13 Jul 00:31 collapse

Basically “does this JSON object contain at least these two properties, and is the value of one particular properties a string of digits followed by the letter ‘Z’”, for example.

h4x0r@lemmy.dbzer0.com on 11 Jul 14:33 next collapse

The first step to mastery is RTFM: jqlang.org/manual/

cerement@slrpnk.net on 11 Jul 20:16 collapse

oh hey, a project that actually has a manual to read

h4x0r@lemmy.dbzer0.com on 11 Jul 21:21 collapse
gramgan@lemmy.ml on 11 Jul 15:06 next collapse

I’m curious if anyone else has considered using nushell for these things? Probably not for everything (or to replace one’s shell) but it definitely is simpler for basic tasks.

slackness@lemmy.ml on 11 Jul 17:28 collapse

That’s the primary value offer of nushell so at least people who made it considered it I’d say.

MRIG@slrpnk.net on 11 Jul 20:33 next collapse

If you’re going to use jq to manipulate JSON I’d recommend a helper CLI tool like ijq. It allows you to experiment without needing too lines in your terminal history.

ArseAssassin@sopuli.xyz on 12 Jul 11:25 collapse

I don’t know if we should call someone a master of jq if they do

echo ‘{“k1”: [{“k2”: [9]}]}’ | jq ‘.k1 | .[0] | .k2 | .[0]’

Instead of just

echo ‘{“k1”: [{“k2”: [9]}]}’ | jq ‘.k1[0].k2[0]’

MonkderVierte@lemmy.zip on 13 Jul 09:32 collapse

Both are bad. Make it readable.

And if you often resort to jq, better use python or at least something like nushell.