david wrote:
I want to insert "/" into a substitution.
Why am i getting an "unknown option" even though exactly the same
construction works if i use it from a script file?

[EMAIL PROTECTED]:~/test $ cat > foo
foo is barred                                           # test file
[EMAIL PROTECTED]:~/test $ sed s/foo/bar/g foo
bar is barred                                           # sed works :)
[EMAIL PROTECTED]:~/test $ sed s/foo/\/bar/g foo
sed: -e expression #1, char 8: unknown option to `s'    # ERRO

$sed -e "s|foo|/bar|g" foo

The above command works fine. You can use any character as delimiter. I chose to use | .
Hope that helps.




[EMAIL PROTECTED]:~/test $ cat > sedfile
s/foo/\/bar/g                                           # script file...
[EMAIL PROTECTED]:~/test $ sed -f sedfile foo
/bar is barred                                          # ... works
[EMAIL PROTECTED]:~/test $
I've noticed the same problem applies to using & in the replacement on
the cli. It seems that the replacement part doesn't recognise a
backslash. Have I missed something?



--
Deepan http://codeshepherd.com/
http://codeshepherd.blogspot.com/
http://sudoku-solver.net/

--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to