* Marius Mauch <[EMAIL PROTECTED]> 15. Apr 08:
> On Tue, 15 Apr 2008 16:17:54 +0200
> Frank Gruellich <[EMAIL PROTECTED]> wrote:
> > * Santiago M. Mola <[EMAIL PROTECTED]> 15. Apr 08:
> > > On Tue, Apr 15, 2008 at 1:14 PM, Marijn Schouten (hkBst)
> > > Currently is use ':' as sed delimiter when paths are involved. I'd
> > > also like to hear from you about proper delimiters if you think ':'
> > > is not safe enough.
> > Even though it's probably stupid to use it, but ':' is a valid
> > character within a path. I've no solution for this problem, however.
> Valid maybe (but then pretty much every character is valid),
I've been a bigmouth so I couldn't sleep last night thinking about that
problem (which in fact happened to me sometimes). The very last
character I'd expect in a path would be the NUL char (\x00). I was not
able to create a filename or path containing it. (Anyone else?)
Unfortunately that stupid sed does not work with \x00 as delimiter...
But because a path will not contain a \x00 you can replace all
"$delimiter_of_your_dreams" with a \x00 and later change it back to the
original without adding any new.
Looks like:
(0) [EMAIL PROTECTED] [~] % echo '/foo/bar/foo:baz/baz bar/laber_rabarber/' |tr
'/' '\0' |sed 's/a/o/g' |tr '\0' '/'
/foo/bor/foo:boz/boz bor/lober_roborber/
(0) [EMAIL PROTECTED] [~] %
Moving that to OP's problem he could maybe use something like:
tr '/' '\0' Makefile.new
This obviously introduces the problem that a Makefile contains more than
just paths and there could be a \x00 somewhere... but... well...
> but colon is used as path delimiter in many other contexts (e.g.
> $PATH) so it's rather unlikely to be used.
I'm *very* paranoid. ;-)
Kind regards,
Frank.
--
Sigmentation fault
--
gentoo-dev@lists.gentoo.org mailing list