From owner-freebsd-questions@FreeBSD.ORG Sat Jan 31 17:34:04 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 87EC816A4CF for ; Sat, 31 Jan 2004 17:34:04 -0800 (PST) Received: from munk.nu (mail.munk.nu [213.152.51.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 87FEA43D39 for ; Sat, 31 Jan 2004 17:34:03 -0800 (PST) (envelope-from munk@munk.nu) Received: from munk by munk.nu with local (Exim 4.30; FreeBSD) id 1An6Ur-0009J0-J3; Sun, 01 Feb 2004 01:34:01 +0000 Date: Sun, 1 Feb 2004 01:34:01 +0000 From: Jez Hancock To: Daniela Message-ID: <20040201013401.GA35376@users.munk.nu> Mail-Followup-To: Daniela , questions@freebsd.org References: <200402010138.44102.dgw@liwest.at> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200402010138.44102.dgw@liwest.at> User-Agent: Mutt/1.4.1i Sender: Jez Hancock cc: questions@freebsd.org Subject: Re: OT: sed problem X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Feb 2004 01:34:04 -0000 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 $@ -- Jez Hancock - System Administrator / PHP Developer http://munk.nu/ http://jez.hancock-family.com/ - Another FreeBSD Diary http://ipfwstats.sf.net/ - ipfw peruser traffic logging