2016-12-02 66 views
0

我想通過編輯settings.json文件更改傳輸守護程序的密碼,所以我使用sed來做到這一點,但它不工作。查找文件中的加密和非特定文本,並替換

sudo sed -i 's/"rpc-password": "{8554bacab8e25167fdb03572871b3e28c557d134LzBdn6ZI.",/"rpc-password": "transmission",/' /home/pi/.config/transmission-daemon/settings.json 

我想改變時,一些安裝腳本用於

變「encripted文本」到「密碼」

感謝所有幫助改變這種非特定的文本。

PS:此文件自動加密rpc密碼,所以我只想驗證我的新密碼。反正

sudo sed -i "s/\"rpc-password\": \"{.*\",/\"rpc-password\": \"transmission\",/g" /home/pi/.config/transmission-daemon/settings.json 

感謝:

+1

解釋「不工作」 – Kent

+0

「sed的」不替換文本 – wagner4362

+0

你是不是想給encripted文本,或者只是與已解密的一個替換它的編碼? –

回答

0

試試這個:

sudo sed -r -i -e 's/"rpc-password":[ \t]*"\{[^}]+\}",/"rpc-password": "transmission",/' /home/pi/.config/transmission-daemon/settings.json 
+0

沒有工作,即使停止傳輸守護程序服務並再次啓動,文本也不會替換 – wagner4362

+0

您可以複製在本地配置文件,並檢查什麼是錯誤的?很高興知道這是文件管理問題還是sed表達式錯誤。 –

+0

我在運行腳本之前和之後檢查了文件,並停止啓動守護進程,在登錄屏幕中進行了檢查也訪問了我的瀏覽器 – wagner4362

0

是不是說文件JSON?如果是的話可以考慮使用jq

jq '."rpc-password" = "transmission"' \ 
    /home/pi/.config/transmission-daemon/settings.json \ 
    > /tmp/trans-set-$$.json && mv /tmp/trans-set-$$.json \ 
    /home/pi/.config/transmission-daemon/settings.json