[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