""と\を含むファイルを置き換えるには、"sed"を使用してください。

次のJSONファイルがあります。

{
...
"python.pythonPath": "",
"python.defaultInterpreterPath": "",
...
}

更新したいです。

{
...
"python.pythonPath": "/Users/user/.local/share/virtualenvs/venv-Qxxxxxx9/bin/python",
"python.defaultInterpreterPath": "/Users/user/.local/share/virtualenvs/venv-Qxxxxxx9/bin/python",
...
}

エスケープ文字を使用するのは混乱しています。/そして一重引用符と二重引用符。これを行うにはsedをどのように使用しますか?

参考用。私は試したmacOSを使用しています。

sed -i "" 's|/"/"|/"/Users/user//.local/share/virtualenvs/venv-Qxxxxxx9/bin/python/"' settings.json

ベストアンサー1

これはすでに試したものと似ているはずですが、この方法でjsonファイルを編集することはお勧めjqできません。

sed -i 's/""/"\/Users\/user\/.local\/share\/virtualenvs\/venv-Qxxxxxx9\/bin\/python"/g' settings.json

出力は次のようになります。

{
...
"python.pythonPath": "/Users/user/.local/share/virtualenvs/venv-Qxxxxxx9/bin/python",
"python.defaultInterpreterPath": "/Users/user/.local/share/virtualenvs/venv-Qxxxxxx9/bin/python".
...
}

おすすめ記事