sedコマンドで \+ が使えなくて困ったら -E オプションを使う
タイトル通り
困ったので、冷静になって man でマニュアルを見たところ、 -E
オプションで (modern) regular expressions
になることがわかった
$ man sed
-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.
これ使うとメタ文字のエスケープとかも必要なくなって、直感的に使えるようになった
$ echo 1234abcd1234 | sed -E 's/([0-9]+)/_\1_/g' _1234_abcd_1234_
\d
とかは残念ながら使えるようにはならない