новый для bash скрипт не может понять следующий код - PullRequest
0 голосов
/ 04 августа 2020

Может кто-нибудь объяснить приведенный ниже код, разбив его на части, особенно эту часть: sed -i '$s/}/

sed -i '$s/}/,\n"location":"canada"}/' sample.json

вывод

{"name" :"sam",
"age":23,
"designation":"doctor",
"location":"canada"}

1 Ответ

1 голос
/ 04 августа 2020

sed - внешняя команда (редактор потока), обычно встречающаяся в системах linux.

  • -i означает, что она изменяет входной файл на месте.

  • $ - это «адрес», это означает, что следующая команда будет применена только к последней строке.

  • s/// - это «подстановка» ", он заменяет } новой строкой и "location":"canada"}

    jq '.location =" canada "' файл. json

Лучше бы быть использовать jq, который может понять JSON.

jq '.location="canada"' file.json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...