Sed Help.....

mailing lists at MacTutor lists at mactutor.biz
Wed Nov 10 11:58:15 PST 2004


Rod,

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

And if there is only one occurrence per line, then you don't need the 
'g' modifier.

Hope that helps.

Alex


On Nov 10, 2004, at 9:43 AM, Rod Person wrote:

> I trying to write a script that will make it easier for a friend that I
> finally talked into trying Freebsd setup a desktop.
>
> This part of the script is suppose to change the line in the ttys file
> to allow kdm to start on boot.
>
> Here is the relavent code:
>
>     KDMLINE="/usr/local/bin/kdm -nodaemon"
>     REPLACELINE="/usr/X11R6/bin/xdm -nodaemon"
>
>     sed -e "s/$REPLACELINE/$KDMLINE/g" /etc/test/ttys > /etc/test/new
>
> Here is the error I'm getting:
>     sed: 1: "s//usr/X11R6/bin/xdm -n ...": bad flag in substitute 
> command: 'X'
>
> I can't seem to figure this out and the only things I've found in
> searching is that sed had a problem with replacing strings over
> 4096 bytes, but I don't think this is the cause and all those post
> were years old.
>
> This is on FreeBSD 5.3.
>
> Rod
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"
>
>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  Alexander Sendzimir (owner)                    802 863 5502
  MacTutor: Apple Mac OS X Consulting       info at mactutor.biz



More information about the freebsd-questions mailing list