Date: Thu, 11 Nov 2004 08:12:55 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Rod Person <personrp@hotpop.com> Cc: freebsd-questions@freebsd.org Subject: Re: Sed Help..... Message-ID: <20041111061255.GC1569@gothmog.gr> In-Reply-To: <200411101515.49950.personrp@hotpop.com> References: <200411101443.01977.personrp@hotpop.com> <D8431F26-3352-11D9-91B4-000D9347C178@mactutor.biz> <200411101515.49950.personrp@hotpop.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2004-11-10 15:15, Rod Person <personrp@hotpop.com> wrote: > On Wednesday 10 November 2004 7:58 pm, mailing lists at MacTutor wrote: > > Take a look at what the shell replacement is actually doing. If you > > were to write the line manually it would look like this: > > > > sed -e 's/\/usr\X11R6\/bin\/xdm/\/usr\/local\/bin\/kdm/g' ... > > > > Right? > > > > But the shell doesn't escape the path separators (slashes). You need to > > escape them yourself in the variable assignments. Like this, > > > > KDMLINE='\/usr\/local\/bin\/kdm' > > &c > > I hate when you look at something for hours and it something you know you > should have known! I had at one point had the variables with double qoute and > even tried to escape the qoutes!! You can also use different sed-separator characters: sed -e "s|${REPLACELINE}|${KDMLINE}|" The choise of '|' is arbitrary above. It could have been '@', '#', or '!', for all that sed(1) cares. The substitution would still work.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041111061255.GC1569>