sedエラー:OS Xでは、「REに\ 1が定義されていません」

sedエラー:OS Xでは、「REに\ 1が定義されていません」

私はOS X 10.10.5次のコマンドを使用しています。

$ ls foo*
foo123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:foo:bar:';done
bar123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:foo:(&):';done
(foo)123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:\(foo\):(\1):';done
sed: 1: "s:foo:(\1):": \1 not defined in the RE

エラーが発生します。

私の質問は:上記の最後のコマンドで生成されたエラーをどのように修正できますか?

ベストアンサー1

以下で-Eキャプチャグループを作成するには、引用符のない括弧を使用する必要があります。

sed -E 's:(foo):(\1):'

おすすめ記事