Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Dec 2007 13:36:42 -0800
From:      Bill Campbell <freebsd@celestial.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: How to use cut or awk commands into sed command ?
Message-ID:  <20071212213642.GA9443@ayn.mi.celestial.com>
In-Reply-To: <015f01c83d04$a1df2b20$dc96eed5@ihlasnetym>
References:  <015f01c83d04$a1df2b20$dc96eed5@ihlasnetym>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 12, 2007, Halid Faith wrote:
>I have a file named file1 which contains some values.
>I want to replace some strings into it, so I use sed command but I get an error.
>
>sed "s#oldstring#`cut -d, -f3 file2`#"  file1
>
>sed: 1: "s/yenidomain2/f0b2875d- ...": unterminated substitute in regular expression
>
>also I get an error with awk command into sed;
>sed "s#oldstring#`awk -F, '{print$3}' file2`#"    file1
>sed: 1: "s#yenidomain2#f0b2875d- ...": unterminated substitute in regular expression

The ``cut -d...` may well be biting you with multiple lines or
extra line feeds.  You might see the problem by prefixing your
command with ``echo'' to see what it's actually doing.

echo sed "s#oldstring#`cut -d, -f3 file2`#"  file1

I usually do more complex substitutions with short python or perl
scripts as (a) they use a common regular expression syntax, and
(b) I find the code cleaner (at least the python :-)

Bill
--
INTERNET:   bill@celestial.com  Bill Campbell; Celestial Software LLC
URL: http://www.celestial.com/  PO Box 820; 6641 E. Mercer Way
FAX:            (206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676

Scientists are explorers. Philosophers are tourists. -- Richard Feynman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071212213642.GA9443>