我有一个崇高的文本配置文件,当我在大学和家之间移动时,我想更改包控制的代理设置。该文件具有以下结构:
{
"installed_packages":
[
"AdvancedNewFile",
"jQuery Snippets pack",
"Nettuts+ Fetch",
"Package Control",
"Theme - Aqua",
"Theme - Soda"
],
"http_proxy": "ProxyA:port",
"https_proxy": "ProxyA:port"
}
现在,我需要http_proxy
用 3 个值替换变量。它可以是ProxyA或 ProxyB或""表示没有代理。我希望能够有效地使用sed
. 现在假设我想将代理设置为ProxyB。然后我会检查代理是否为空或设置为 ProxyA,然后进行查找和替换。所以可能有3种情况:
- 当代理要设置为""时,我们需要对ProxyA、ProxyB做一个替换
- 当代理要设置为ProxyA时,我们需要对"",ProxyB做一个替换
- 当代理要设置为ProxyB时,我们需要对"",ProxyA做一个替换
我可以使用两个 sed 命令来做到这一点。实现这一目标的最有效方法是什么?我认为它可以用一个 sed 命令来完成。