Skip site navigation (1)Skip section navigation (2)
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>