0
我有一個崇高的文本配置文件,並且當我在大學和家庭之間移動時,我想更改包控制的代理設置。該文件具有以下結構:查找和替換文件中的字符串與sed有效
{
"installed_packages":
[
"AdvancedNewFile",
"jQuery Snippets pack",
"Nettuts+ Fetch",
"Package Control",
"Theme - Aqua",
"Theme - Soda"
],
"http_proxy": "ProxyA:port",
"https_proxy": "ProxyA:port"
}
現在,我需要3個值來代替http_proxy
變量。它可以是代理A或ProxyB或「」爲沒有代理。我希望能夠使用sed
高效地完成此操作。現在假設我想將代理設置爲ProxyB。然後我會檢查代理是空的還是設置爲ProxyA然後執行查找和替換。所以,可以有三種情況:
- 當將代理服務器設置爲「」,我們需要做的一個更換代理A,ProxyB
- 當代理將被設置到代理A,我們需要做一個取代對「」,ProxyB
- 當將代理服務器設置爲ProxyB,我們需要ŧ o不要一個替換爲「」,代理A
我可以用兩個sed命令做到這一點。什麼是實現這一目標的最有效方式?我認爲這可以用一個sed命令來完成。
我希望我得到的命令行語法正確。我從未使用sed。 –
嘿@Tim,你的解決方案似乎沒有工作。 – Annihilator8080
@ Annihilator8080:啊,我想我知道爲什麼。我忽略了原始字符串的':port'部分。那部分總是在那裏,它總是這個確切的字符串'「:port」'?如果沒有,那究竟是什麼? –