2016-12-02 1 views
0

settings.jsonファイルを編集してTransmissionデーモンのパスワードを変更したいので、sedを使用していますが動作しません。ファイル内に暗号化された非特定のテキストを見つけて置換する

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

は、私はいくつかのスクリプトが

変更「encriptedテキスト」に「パスワード」任意の助け

感謝を使用したインストール時に変更し、この不特定のテキストを変更したいです。

PS:このファイルはrpc-passwordを自動的に暗号化するので、新しいパスワードを検証したいだけです。

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

を説明 – Kent

+0

は「sedの」「動作しない」あなたは-encriptedテキスト、またはちょうど既に1を復号化してそれを置き換えるのエンコードしようとしているテキスト – wagner4362

+0

を置き換えていけませんか? –

答えて

0

これは動作します:

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

感謝をとにかく

0

はこれを試してみてください。

+0

送信デーモンサービスを停止してから再起動してもテキストが置き換えられません – wagner4362

+0

configファイルをローカルに作成し、何が間違って行われているかを確認します。これがファイル管理の問題か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 
関連する問題