Date: Mon, 10 Aug 2020 16:49:24 +0200 From: Polytropon <freebsd@edvax.de> To: Robert Huff <roberthuff@rcn.com> Cc: Ernie Luzar <luzar722@gmail.com>, "freebsd-questions\@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: csh use of grep | tr commands Message-ID: <20200810164924.4ec11e74.freebsd@edvax.de> In-Reply-To: <24368.41568.96908.196223@jerusalem.litteratus.org> References: <5F30962B.5060005@gmail.com> <24368.41568.96908.196223@jerusalem.litteratus.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 9 Aug 2020 21:26:56 -0400, Robert Huff wrote: > Ernie Luzar writes: > > > Double quotes are giving me trouble. > > > > I have a file with a line in it like this > > ip4="10.111.098.2" > > I want to get just the ip address > > > > ip=`grep "ip4=" directory-path/file-name > > > > $ip ends up having ip4="10.111.098.2" in it > > > > ip=`echo -n "${ip}" | tr -d "ip4=" > > > > $ip ends up having "10.111.098.2" in it > > > > Putting | tr """ " "` after the echo above gives error. > > > > How do I remove the " around the ip address? > > Would awk perhaps be a better tool? Possibly. But it's more elaborate than sed. :-) % echo 'ip4="10.111.098.2"' | awk '/^ip4=/ { gsub("ip4=", "", $0); gsub("\"", "", $0); print $0 }' 10.111.098.2 Compared to: % echo 'ip4="10.111.098.2"' | sed 's/ip4="//g; s/"//g' 10.111.098.2 However, awk can eliminate a possible grep invocation to only process matching lines, which might be an advantage. -- 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?20200810164924.4ec11e74.freebsd>