Bashスクリプトを使用して次のsed式を実行するとき
t=$(sed -n "s/^([0-9]+\.){2,2}(\*|[0-9]+)(\-.*){0,1}$/p" ./apps/core-website/settings/website.config)
次のエラーが発生します。
sed: -e expression #1, char 41: unterminated `s' command
答え1
s//
エラーメッセージは正しいです。コマンドを終了していません。パターンの後にはオプションで、等の修飾s/pattern/replacement/
子が来なければなりませんg
。すでに持っているので置き換えることはできません。i
p
s/pattern/p
また、拡張正規表現(ERE)モードを使用していることも知っておく必要がありますが、sed
これを行うというメッセージが表示されないため、正規表現を前提としています。これに使用されますsed -E
。