sedで変数文字列を特殊文字に置き換える方法[重複]

sedで変数文字列を特殊文字に置き換える方法[重複]

ファイルの内容をより簡単にバッチ変更できるように、sedを使用してファイルのテキストを置き換え始め、必要な各値をBASHの変数に設定し、すべての変数を呼び出して既存の項目を置き換える関数に置き換えを設定しました。テキスト。はい〜

sed -i -e "s/$answer/$FORME $answer/g" ~$answer.txt

$answerは端末からのコマンド入力のための変数です。 $ FORMEは$ answer入力に基づいて定義された変数です。$ FORMEに "/"が含まれています。オンラインで検索してみると、特殊文字を含む変数置換を使用する方法が見つかりません。特殊文字を使用して$ FORMEを生成する$ answerのコマンドを使用しようとすると、次のエラーが表示されます。

sed: -e expression #1, char 15: unknown option to `s'

私は、これが$ FORMEの特殊文字が置き換えられる文字列ではなく、実際のコマンドの一部として登録されることを意味すると仮定します。助けてください!

よろしくお願いします!

ベストアンサー1

sコマンド区切り文字として任意の文字を使用できます。たとえば、次のようになります。

sed -i -e "s|$answer|$FORME $answer|g" ~$answer.txt

おすすめ記事