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.
This is awesome! Looks like an LPI1 textbook. Never got the certification but I’ve seen a couple books about it and remember seeing examples like this one.
People are hating on Powershell way too much. I don’t like its syntax really but it has a messy better approach to handling data in the terminal. We have nu and elvish nowadays but MS was really early with the concept and I think they learned from the shortcomings of POSIX compatible shells.
Honestly I think 90% of people would never use awk if there was a simple preinstalled command for “print the nth column”
cut?
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 liketr -s " "|cut -d" " -f3
if you want behavior likeawk
’s field-splitting.This is awesome! Looks like an LPI1 textbook. Never got the certification but I’ve seen a couple books about it and remember seeing examples like this one.
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}'
Because by the time I use
awk
again, I’ve completely forgotten that it supports this stuff, and the discoverability is horrendous.Though I’d happily fix it if ShellCheck warned against this…
cut and tr are like the wonder twins of text munging
This is definitely somewhere that PowerShell shines, all of that is built in and really easy to use
People are hating on Powershell way too much. I don’t like its syntax really but it has a messy better approach to handling data in the terminal. We have nu and elvish nowadays but MS was really early with the concept and I think they learned from the shortcomings of POSIX compatible shells.