Может кто-нибудь объяснить приведенный ниже код, разбив его на части, особенно эту часть: sed -i '$s/}/
sed -i '$s/}/
sed -i '$s/}/,\n"location":"canada"}/' sample.json
вывод
{"name" :"sam", "age":23, "designation":"doctor", "location":"canada"}
sed - внешняя команда (редактор потока), обычно встречающаяся в системах linux.
sed
-i означает, что она изменяет входной файл на месте.
-i
$ - это «адрес», это означает, что следующая команда будет применена только к последней строке.
$
s/// - это «подстановка» ", он заменяет } новой строкой и "location":"canada"}
s///
}
"location":"canada"}
jq '.location =" canada "' файл. json
Лучше бы быть использовать jq, который может понять JSON.
jq
jq '.location="canada"' file.json