NekuSoul-Lemmy
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
learnbyexample@programming.dev to Linux@lemmy.mlEnglish · 2 days ago

Mastering jq

codefaster.substack.com

external-link
message-square
12
fedilink
30
external-link

Mastering jq

codefaster.substack.com

learnbyexample@programming.dev to Linux@lemmy.mlEnglish · 2 days ago
message-square
12
fedilink
Mastering JQ: Part 1
codefaster.substack.com
external-link
This is the first part of an ongoing series on mastering jq. jq is a valuable tool that every fast coder has in their tool chest. It contains depths of immense power. In part 1, we'll start off with the basics.
alert-triangle
You must log in or register to comment.
  • ArseAssassin@sopuli.xyz
    link
    fedilink
    arrow-up
    7
    ·
    1 day ago

    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
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      4 hours ago

      Both are bad. Make it readable.

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

  • h4x0r@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    18
    ·
    2 days ago

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

    • cerement@slrpnk.net
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

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

      • h4x0r@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        5
        ·
        2 days ago

        https://www.gnu.org/software/gawk/manual/gawk.html#Undocumented

  • MRIG@slrpnk.net
    link
    fedilink
    arrow-up
    5
    ·
    2 days ago

    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.

  • gramgan@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    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
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

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

  • FishFace@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    11
    ·
    2 days ago

    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.

    • Beej Jorgensen@lemmy.sdf.org
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      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
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

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

        • Beej Jorgensen@lemmy.sdf.org
          link
          fedilink
          arrow-up
          2
          ·
          13 hours ago

          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.

Linux@lemmy.ml

linux@lemmy.ml

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !linux@lemmy.ml

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

  • !opensource@lemmy.ml
  • !libre_culture@lemmy.ml
  • !technology@lemmy.ml
  • !libre_hardware@lemmy.ml

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 563 users / day
  • 3.55K users / week
  • 7.46K users / month
  • 17.6K users / 6 months
  • 1 local subscriber
  • 56.4K subscribers
  • 7.89K Posts
  • 202K Comments
  • Modlog
  • mods:
  • AgreeableLandscape@lemmy.ml
  • nooter692@lemmy.ml
  • MarcellusDrum@lemmy.ml
  • Arthur Besse@lemmy.ml
  • Cyclohexane@lemmy.ml
  • d3Xt3r@lemmy.nz
  • BE: 0.19.8
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org