概要
文字列の変換などで便利なsedコマンド。
「-r」オプションを使おうとすると以下のエラーになってしまいました。
sed: illegal option -- r usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
解決策
「-r」オプションではなく「-E」オプションを使用する。
解説
OSやシェルの種類によっては、「-r」オプションは使えないようです。
そこで、同じ機能を持つ「-E」オプションを使えばよい、とのことでした。
実際に試してみたところ、うまく動作することを確認できました。
// 「id=123」という文字列から「123」を抽出するコマンド $ echo "id=123" | sed -E "s/id=([1-9]*)/\1/" 123