[sed] 正規表現でキャプチャしたグループの順序を入れ替える

作成日: 2026年09月23日

sed では、正規表現でキャプチャした文字列を \1、\2 のような後方参照で置換文字列に使用できます。

下記の例では、YYYY-MM-DD 形式の日付を DD/MM/YYYY 形式に並べ替えます。

echo '2026-09-24' | sed -E 's/([0-9]{4})-([0-9]{2})-([0-9]{2})/\3\/\2\/\1/'

([0-9]{4})、([0-9]{2})、([0-9]{2}) がそれぞれ1番目、2番目、3番目のキャプチャグループです。置換後の文字列で \3/\2/\1 と指定することで、キャプチャした文字列の順序を入れ替えています。

実行結果は下記のとおりです。

24/09/2026
Bash Shell command sed