sedスクリプトを引用符で囲む

sedスクリプト中にスペースが含まれることも多いので、いつでも引用符""''で囲んだ方がいいかも。

input='HelloWorld'

script='s/HelloWorld/Hello World/'

# 囲んでないのでエラー
echo "$input" | sed $script
sed: -e expression #1, char 18: `s' コマンドが終了していません

スクリプト中の$記号

Bashの変数はダブルクォート""で囲まれても展開されるので、下記みたいにスクリプト中に変数を組み込んでもいい。

input='りんごアイス
いちこアイスダブル'

regex='アイス$' # 行末が「アイス」の正規表現
replacement='ケーキ'

echo "$input" | sed "s/$regex/$replacement/"