OS X sed -E não aceita expressões regulares estendidas

Eu tenho tentado várias maneiras de fazer algumas coisas básicas com sed no OS X. Aqui estão os resultados de alguns testes simples.

echo "foo bar 2011-03-17 17:31:47 foo bar" | sed 's/foo/FOUND/g'

retorna (como esperado)

FOUND bar 2011-03-17 17:31:47 FOUND bar

mas

echo "foo bar 2011-03-17 17:31:47 foo bar" | sed -E 's/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/FOUND/g'

devolve

foo bar 2011-03-17 17:31:47 foo bar

e (ainda mais irritante)

echo "food bar 2011-03-17 17:31:47 food bar" | sed -E 's/\d/FOUND/g'

devolve

fooFOUND bar 2011-03-17 17:31:47 fooFOUND bar

Agora oman sed páginas dizem que

The following options are available:

 -E      Interpret regular expressions as extended (modern) regular
         expressions rather than basic regular expressions (BRE's).  The
         re_format(7) manual page fully describes both formats.

eman re_format diz

          \d  Matches a digit character.  This is equivalent to
          `[[:digit:]]'.

E realmente:

echo "foo bar 2011-03-17 17:31:47 foo bar" | sed -E 's/[[:digit:]]{4}/FOUND/g'

me dá

foo bar FOUND-03-17 17:31:47 foo bar

... mas isso é chato. Ou porque estou sendo densa, ou porque as páginas do man sãomentindo para mim (para ser honesto, prefiro o primeiro).

Uma revisão rápida da literatura aqui no SO sugere que eu não estou sozinho nisso, e que muitos recomendam instalarGNU coreutils (ou mesmo usar outra coisa - digamosperl -pe) - no entanto, eu gostaria de ter certeza:

Os EREs trabalham comsed como é empacotado com o OS X - como implicado peloman páginas - ou não?

(Estou em 10.8 e 10.6.8)

questionAnswers(2)

yourAnswerToTheQuestion