Добавить ключ/значение в объект json

Ваш подход не сработает, потому что вы вообще не используете LVM.

Изменение размера рейда mdadm не является тривиальным и не рекомендуется, если вы действительно не знаете, что делаете.

Тем не менее, 20G должно быть достаточно для /большинства настольных систем.

Может быть, проверить, что занимает больше всего места, а затем передать что-то на ваш /homeраздел (с помощью символической ссылки или чего-то еще ).

mkdir /mnt/root
mount --bind / /mnt/root
ncdu /mnt/root

Например, если есть /var/wwwили /opt/game, которые можно переместить в /home/somewhereвообще без изменения размера файловой системы.

mkdir /home/www
rsync -a /var/www/. /home/www/.
mv /var/www /var/www-old
ln -s../home/www /var/www

Проверьте, все ли работает, затем удалите /var/www-old.

1
12.01.2021, 22:45
1 ответ
$ jq '.array[] += { "new_key": 0 }' <<<"$json"
{
  "name": "foo",
  "array": [
    {
      "name": "bar",
      "thing": true,
      "new_key": 0
    },
    {
      "name": "baz",
      "thing": false,
      "new_key": 0
    }
  ]
}

То есть используйте +=вместо +. Вы хотите изменить массив array, а не извлечь его и добавить к нему.

Если данные для добавления поступают из переменных оболочки, для которых может потребоваться кодировка JSON($somevalueниже ), вы можете использовать joдля создания добавляемого фрагмента JSON:

jq --argjson newval "$( jo new_key="$somevalue" )" '.array[] += $newval' <<<"$json"

или, если вы просто хотите передать значение и жестко -закодировать ключ в выражении jq:

jq --arg newval "$somevalue" '.array[] += { new_key: $newval }' <<<"$json"
6
18.03.2021, 22:37

Теги

Похожие вопросы