Обновите json с использованием контейнера sed - Docker - PullRequest
0 голосов
/ 10 июля 2020

Работа с docker и поиск обновления JSON с помощью sed.

Вот JSON:

var configLocalnet = {
  version: '20180720',
  websocket: {
    protocol: 'http',
    host: 'localhost',
    port: '8082',
  },
  publicapi: {
    protocol: 'http',
    host: 'localhost',
    port: '8082',
  },
}

var configMainnet = {
  version: '20180720',
  websocket: {
    protocol: 'https',
    host: 'to_update',
    port: '443',
  },
  publicapi: {
    protocol: 'https',
    host: 'to_update',
    port: '443',
  },
}
module.exports = process.env.REACT_APP_ENVIRONMENT === "mainnet" ? configMainnet : configLocalnet;

Требуется на значения в config var configMai nnet, чтобы изменить на:

Обе детали хоста внутри configMai nnet должны быть изменены на test.test.io

var configMainnet = {
  version: '20180720',
  websocket: {
    protocol: 'https',
    host: 'test.test.io',
    port: '443',
  },
  publicapi: {
    protocol: 'https',
    host: 'test.test.io',
    port: '443',
  },
}

1 Ответ

1 голос
/ 10 июля 2020

Вы можете использовать:

sed -E "s/(host:.).+$/\1'test.test.io',/g"

Пример:

echo "var configMainnet = {
  version: '20180720',
  websocket: {
    protocol: 'https',
    host: 'to_update',
    port: '443',
  },
  publicapi: {
    protocol: 'https',
    host: 'to_update',
    port: '443',
  },
}" | sed -E "s/(host:.).+$/\1'test.test.io',/g"
var configMainnet = {
  version: '20180720',
  websocket: {
    protocol: 'https',
    host: 'test.test.io',
    port: '443',
  },
  publicapi: {
    protocol: 'https',
    host: 'test.test.io',
    port: '443',
  },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...