• tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    6 hours ago

    To be fair, a lot of the programs don’t use a single character, have multiple spaces between fields, and cut doesn’t collapse whitespace characters, so you probably want something more like tr -s " "|cut -d" " -f3 if you want behavior like awk’s field-splitting.

    $ iostat |grep ^nvme0n1
    nvme0n1          29.03       131.52       535.59       730.72    2760247   11240665   15336056
    $ iostat |grep ^nvme0n1|awk '{print $3}'
    131.38
    $ iostat |grep ^nvme0n1|tr -s " "|cut -d" " -f3
    131.14
    $
    
    • TechLich@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      4 hours ago

      I never understood why so many bash scripts pipe grep to awk when regex is one of its main strengths.

      Like… Why

      grep ^nvme0n1 | awk '{print $3}'

      over just

      awk '/^nvme0n1/ {print $3}'