Обновление текста в html-файле и двух JSON-файлах (unix) - PullRequest
0 голосов
/ 16 марта 2019

Я хочу предложить способ обновления трех файлов одновременно. Три файла находятся в одном каталоге. Входными данными будут id (ключ), английский перевод и испанский перевод.

Допустим, наши три файла выглядят так

index.html

<div id="foo">goodbye</div>

english.json

{ "foo": "goodbye" }

spanish.json

{ "foo": "adios" }

Допустим, мы хотим, чтобы эти три файла вместо этого сказали «привет». Мы вводим 'foo' 'hello' 'hola' и вот как должны выглядеть файлы:

index.html

<div id="foo">hello</div>

english.json

{ "foo": "hello" }

spanish.json

{ "foo": "hola" }

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

Спасибо!

1 Ответ

0 голосов
/ 17 марта 2019
#!/bin/sh
sed -i "s/\(.*<div id=\"$1\">\)[^<]*\(<.*\)/\1$2\2/g" index.html
sed -i "s/\(.*\"$1\":\).*/\1 \"$2\" }/g" english.json
sed -i "s/\(.*\"$1\":\).*/\1 \"$3\" }/g" spanish.json

ИСПОЛЬЗОВАНИЕ: scriptname КЛЮЧ АНГЛИЙСКИЙ ИСПАНСКИЙ

...