GNU sedは、s///コマンドの正規表現照合やアドレス照合へテキストを渡す前に、エスケープシーケンスを処理します。そのため、次の2つのコマンドは同じです(「0x5e」は文字「^」の16進ASCII値です)。
$ echo 'a^c' | sed 's/^/b/' ba^c $ echo 'a^c' | sed 's/\x5e/b/' ba^c
次のコマンドも同じです(「0x5b」「0x5d」は、それぞれ「[」「]」の16進ASCII値です)。
$ echo abc | sed 's/[a]/x/' xbc $ echo abc | sed 's/\x5ba\x5d/x/' xbc
ただし、思わぬ境界事例があるため、このような特殊文字の使用は避けることを推奨します。たとえば、次のコマンドは同じではありません。
$ echo 'a^c' | sed 's/\^/b/' abc $ echo 'a^c' | sed 's/\\\x5e/b/' a^c