Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

sedを使って": \1 not defined in the RE"などと出たらキャプチャの構文が間違っている

またやってしまいました。
sedでパースした文字をキャプチャしようとしたところ、
何度目にしたか分からないエラーが。

": \1 not defined in the RE

この場合、キャプチャのカッコをエスケープさせるか、あるいは"-E"オプションを使ってやる必要があります

$ echo "東京都調布市" | sed -e 's;\(都\);\1  ;'
東京都  調布市

$ echo "東京都調布市" | sed -E 's;(都);\1  ;'
東京都  調布市

参考もと

stackoverflow.com