OS X sed -E не принимает расширенные регулярные выражения

Я пробовал различные способы сделать некоторые базовые вещи с помощью sed в OS X. Вот результаты некоторых простых тестов.

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

возвращается (как и ожидалось)

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

но

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'

возвращается

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

и (еще более раздражающе)

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

возвращается

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

Теперьman sed страницы говорят, что

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.

а такжеman re_format говорит

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

И действительно:

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

дает мне

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

... но это раздражает. Либо потому, что я плотный, либо потому, чтоlying to me (если честно, я бы предпочел первое).

Краткий обзор литературы по SO предполагает, что я не одинок в этом, и что многие рекомендуют установитьGNU coreutils (или действительно использовать что-то еще - скажемperl -pe) - однако я бы хотел быть уверенным:

Работают ли ERE сsed как это связано с OS X - как подразумеваетсяman страницы - или нет?

(Я на 10,8 и 10,6,8)

Ответы на вопрос(2)

Ваш ответ на вопрос