Команда Sed кажется незаконченной - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь заменить точную строку, но моя команда sed возвращает ошибку.Похоже, моя команда не закрыта правильно

sed -i s/\<"rpc-whitelist-enabled">/\<"rpc-whitelist-enabled" : false,\>/g somefile

somefile

"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,

Ошибка

error

РЕДАКТИРОВАТЬ:

Эта команда не изменит значение true на false

cat file-name | sed  s/"rpc-whitelist-enabled: true"/"rpc-whitelist-enabled : false"/g

Содержимое файла:

{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "cache-size-mb": 4,
    "rpc-authentication-required": false,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-host-whitelist": "",
    "rpc-host-whitelist-enabled": true,
    "rpc-username": "",
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "start-added-torrents": true,
}

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Есть еще проблемы с вашим sed, лучше используйте этот:

sed -i '/"rpc-whitelist-enabled": true,/s/true/false/' somefile

Тест:

$ cat somefile | sed '/"rpc-whitelist-enabled": true,/s/true/false/'
{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "cache-size-mb": 4,
    "rpc-authentication-required": false,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-host-whitelist": "",
    "rpc-host-whitelist-enabled": true,
    "rpc-username": "",
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "start-added-torrents": true,
}
0 голосов
/ 22 ноября 2018

Я не уверен, правильно ли я понял, но попробовал с вашими данными с некоторыми изменениями, и это, кажется, работает.Пусть, если вам известна какая-либо проблема, попробуйте исправить ее

, используя приведенную ниже команду, используя имя файла

cat file-name | sed s/"rpc-whitelist-enabled: true"/"rpc-whitelist-enabled : false"/g

, если приведенное выше работает, используйтеКоманда ниже, чтобы обновить ваш входной файл.изменить имя файла с вашим именем файла

sed -i s/"rpc-whitelist-enabled: true"/"rpc-whitelist-enabled : false"/g file-name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...