在文件中查找加密和非特定文本并替换

时间:2016-12-02 13:59:52

标签: bash hash replace sed

我想通过编辑settings.json文件来更改传输守护程序的密码,所以我使用 sed 来执行此操作但不起作用。

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

我想更改在使用某些安装脚本时更改的非特定文本

  

更改" encripted-text"密码"密码"

感谢您的帮助。

PS:此文件自动加密rpc-password,所以我只想验证我的新密码。

3 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分:0)

这有效:

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

非常感谢。

答案 2 :(得分: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