1. ホーム
  2. bash

[解決済み] スラッシュを含む変数をsedに渡す方法

2022-05-27 05:45:22

質問

スラッシュを含む変数をパターンとして sed ?

例えば、以下のような変数があった場合。

var="/Users/Documents/name/file"

に渡したい。 sed というように

sed "s/$var/replace/g" "$file"

しかし、私はエラーが発生します。どうすればこの問題を回避できますか?

どのように解決するのですか?

正規表現の区切り文字として sed では、任意のデリミタ ( 制御文字を含む ):

sed "s~$var~replace~g" $file


上記のように、制御文字を区切り文字として使用することもできます。

sed "s^[$var^[replace^[g" file

ここで ^[ Ctrl-V-3 を同時に押すと入力されます。