переопределить свойство файла скриптом - PullRequest
1 голос
/ 19 апреля 2020

Я хочу изменить значение в файле yaml

например, yaml

...
metadata:
  name: appname
spec:
  replicas: 3
  selector:
    matchLabels:
      app: %APP_NAME%

Теперь я попытался со следующим

sed -i 's/%APP_NAME%/newappname/g' app.yaml

И я получил ошибку:

sed: 1: "app.yaml": extra characters at the end of d command

Я не уверен, как преодолеть это, что мне нужно, чтобы переопределить значение файла, а не просто видеть его как вывод

в конце файл должен выглядеть следующим образом:

...
metadata:
  name: appname
spec:
  replicas: 3
  selector:
    matchLabels:
      app: newappname

Если я удаляю -i из команды, я смог увидеть вывод в соответствии с запросом, однако мне нужно переопределить значение файла, а не просто увидеть выход

1 Ответ

2 голосов
/ 19 апреля 2020

В некоторых версиях sed требуется аргумент -i, а в других он необязательный.

Попробуйте:

sed -i .bak 's/%APP_NAME%/newappname/g' app.yaml

или sed -i '' ..., если вы не хотите для создания любой резервной копии (не рекомендуется, см. руководство sed об этом).

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