Code and comments

    • palordrolap@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Back in the 80s/90s there were keyrings that would play an alarm if they heard a whistle at a particular frequency. You’re basically playing Marco Polo with your keys.

      I assume they lost popularity because the batteries tended to run out at inopportune times. Batteries are better now. Maybe it’s time those things made a comeback.

  • bizdelnick@lemmy.ml
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    1 year ago

    My 5 cents:

    1. When piping output of find to xargs, always use -print0 option of find and -0 option of xargs. This allows processing files with any allowed characters in names (spaces, new lines etc.). (However I prefer -exec.)

    2. There’s an i command to insert a line in sed, it is better to use it instead of s/^/...\n/. It makes code more readable (if we can talk about readability of sed code, huh).

    3. If you want to split a delimiter separated line and print some field, you need cut. Keep awk for more complicated tasks.

    • OmnislashIsACloudApp@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      agree with one and two and younger me would have agreed with your third point but I think I don’t anymore.

      yes cut is the simpler and mostly functional tool you need for those tasks.

      but it is just so common to need a slight tweak or to want to substitute something or to want to do a specific regex match or weird multi character delimiter or something and you can do it all easily in awk instead of having to pipe three extra times to do everything with the simplest tool.

    • meteokr@community.adiquaints.moe
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago
      1. If you want to split a delimiter separated line and print some field, you need cut. Keep awk for more complicated tasks.

      Depends on the delimiter too! For anyone else reading this, sed accepts many kinds of delimiters. sed "s@thing@thing2@g" file.txt is valid. I use this sometimes when parsing/replacing text with lots of slashes (like directory lists) so I can avoid escaping a ton of stuff.

      • bizdelnick@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I know, but it is not the case I was talking about. I meant widely used commands like awk '{print $2}' that can be replaced with cut -f2.

        • meteokr@community.adiquaints.moe
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          I know you know, as you already demonstrated your higher understanding. I just wanted to add a little bonus trick for anyone reading that doesn’t know, and is learning from your examples.

  • aarroyoc@lemuria.es
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    1 year ago

    I always found “find” very confusing. Currently, I’m using “fd”, which I think has a more sensible UX

  • t_378@lemmy.one
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    What software did you use to put the slide deck together? It seems to work so nicely when placed on a webpage, too…

    • arglebargle@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I don’t know what OP used, but it could be any one of the Markdown presentation tools.

      I like reveal.js

      Your presentation can go in git, looks good anywhere, and easily shared. It’s just html rendered.

  • it_a_me@literature.cafe
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I’ve gotten tired of weird regex stuff in awk, sed, and grep, so I’ve moved to perl -E for all but the most basic of things.

    • bizdelnick@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      In most cases extended POSIX regexes are enough and looks the same as perl regexes.

      I also used perl until I needed to write highly portable scripts that can be run on systems without perl interpreter (e.g. some minimal linux containers). Simple things are also simple to do with grep/sed/awk, more complex things can be done with awk but require a longer code in comparison with perl.