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