Date: Sun, 1 Feb 2004 15:33:58 +0000 From: Daniela <dgw@liwest.at> To: Jez Hancock <jez.hancock@munk.nu> Cc: questions@freebsd.org Subject: Re: OT: sed problem Message-ID: <200402011533.58877.dgw@liwest.at> In-Reply-To: <20040201013401.GA35376@users.munk.nu> References: <200402010138.44102.dgw@liwest.at> <20040201013401.GA35376@users.munk.nu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 01 February 2004 01:34, Jez Hancock wrote: > On Sun, Feb 01, 2004 at 01:38:44AM +0000, Daniela wrote: > > I was wondering how I can do the following with sed (or another program): > > 1. Output only the text from the start of the line to the first pipe > > character 2. Output only the text between the last and the previous pipe > > character Or, split the line at the pipe characters and assign the parts > > to different shell variables. > > #!/bin/sh > test="one|two|three" > set `echo "$test" | sed -e 's/\|/ /g'` > > # $1="one", $2="two", $3="three": > echo $@ This doesn't work when the parts between the pipe characters contain spaces themselves.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402011533.58877.dgw>