OS X sed -E akzeptiert keine erweiterten regulären Ausdrücke

Ich habe verschiedene Möglichkeiten ausprobiert, um einige grundlegende Dinge mit sed unter OS X zu tun. Hier sind die Ergebnisse einiger einfacher Tests.

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

kehrt zurück (wie erwartet)

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

aber

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'

kehrt zurück

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

und (noch irritierender)

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

kehrt zurück

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

Jetzt dieman sed Seiten sagen das

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.

undman re_format sagt

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

Und in der Tat:

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

gibt mir

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

... aber das ist ärgerlich. Entweder weil ich dicht bin oder weil die Manpages dicht sindmich anlügen (um ehrlich zu sein, würde ich das erstere vorziehen).

Eine kurze Literaturübersicht über SO deutet darauf hin, dass ich hier nicht alleine bin und dass viele die Installation empfehlenGNU coreutils (oder in der Tat etwas anderes verwenden - sagen wirperl -pe) - ich möchte jedoch sicher sein:

Arbeiten EREs mitsed wie es mit OS X gebündelt ist - wie von derman Seiten - oder nicht?

(Ich bin auf 10.8 und 10.6.8)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage