Date: Mon, 5 Oct 2015 06:03:51 +0200 From: Polytropon <freebsd@edvax.de> To: Quartz <quartz@sneakertech.com> Cc: freebsd-questions@freebsd.org Subject: Re: awk question Message-ID: <20151005060351.3646d1b7.freebsd@edvax.de> In-Reply-To: <5611EEE2.9030100@sneakertech.com> References: <5611C922.4050007@hiwaay.net> <5611EEE2.9030100@sneakertech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 04 Oct 2015 23:30:42 -0400, Quartz wrote:
> Considering you're referring to 'pulling out lines', maybe you want to
> trap the output of smartctl into a variable, then just echo that to grep
> a bunch of times, before awk?
>
> ie;
>
> x=$(smartctl)
>
> echo "$x" | grep 'foo' | awk '{print $1}'
> echo "$x" | grep 'bar' | awk '{print $2}'
> echo "$x" | grep 'baz' | awk '{print $3}'
>
> ...etc?
Note that awk has "builtin grep", so your example could be
combined to one smartctl call:
smartctl | awk '
/foo/ { print $1; }
/bar/ { print $2; }
/baz/ { print $3; }
'
Of course storing the smartctl output to a variable is very
useful when processing it _multiple_ times. But as you said,
awk is quite versatile. :-)
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151005060351.3646d1b7.freebsd>
