jq + обновить файл json и добавить имя в соответствии с идентификационным номером.

ls -l | grep ^d

или:

ll | grep ^d

Вы можете установить его как псевдоним

0
27.11.2019, 20:19
1 ответ

Кажется, не -некрасивый способ обнулить -идентификаторы, но с учетом

$ jq '.' file.json
{
  "toyota": [
    "car1.com"
  ],
  "mazda": [
    "foo.bar"
  ],
  "ford": [
    "car01_eng.com"
  ]
}

тогда например для ID=11:

$ jq --arg ID 11 '
   .mazda |= [range(1;($ID | tonumber)+1) as $ID | if $ID < 10 then "car0\($ID)_hyb.com" else "car\($ID)_hyb.com" end]
' file.json
{
  "toyota": [
    "car1.com"
  ],
  "mazda": [
    "car01_hyb.com",
    "car02_hyb.com",
    "car03_hyb.com",
    "car04_hyb.com",
    "car05_hyb.com",
    "car06_hyb.com",
    "car07_hyb.com",
    "car08_hyb.com",
    "car09_hyb.com",
    "car10_hyb.com",
    "car11_hyb.com"
  ],
  "ford": [
    "car01_eng.com"
  ]
}

Или (возможно, это лучше )сгенерировать и отформатировать полные строковые элементы в оболочке и передать это какargjson:

jq --argjson IDS '['"$(seq -s, -f'"car%02.0f_hyb.com"' 11)"']' '
 .mazda |= $IDS
' file.json
2
28.01.2020, 02:29

Теги

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