массовое обновление локального файла json с помощью jq - PullRequest
0 голосов
/ 06 мая 2018

У меня есть имя файла JSON emoji.json, расположенное на моем локальном компьютере Mac мой файл JSON имеет такую ​​структуру

[
{
    "name": "COPYRIGHT SIGN",
    "unified": "00A9-FE0F",
    "non_qualified": "00A9",
    "docomo": "E731",
    "au": "E558",
    "softbank": "E24E",
    "google": "FEB29",
    "image": "00a9-fe0f.png",
    "sheet_x": 0,
    "sheet_y": 12,
    "s": "copyright",
    "short_names": [
        "copyright"
    ],
    "text": null,
    "texts": null,
    "c": "Symbols",
    "o": 128,
    "added_in": "1.1",
    "has_img_twitter": false,
    "has_img_emojione": false,
    "has_img_messenger": false
},
{
    "name": "REGISTERED SIGN",
    "unified": "00AE-FE0F",
    "non_qualified": "00AE",
    "docomo": "E736",
    "au": "E559",
    "softbank": "E24F",
    "google": "FEB2D",
    "image": "00ae-fe0f.png",
    "sheet_x": 0,
    "sheet_y": 13,
    "s": "registered",
    "short_names": [
        "registered"
    ],
    "text": null,
    "texts": null,
    "c": "Symbols",
    "o": 129,
    "added_in": "1.1",
    "has_img_twitter": false,
    "has_img_emojione": false,
    "has_img_messenger": false
}
...
]

и я хочу удалить некоторые нежелательные значения, чтобы файл стал похож на удар. и я хочу сохранить этот файл в формате JSON на моем ПК

[
  {
    "s": "copyright",
    "c": "Symbols",
    "o": 128
  },
  {
    "s": "registered",
    "c": "Symbols",
    "o": 129
  }
]

я знаю, что JQ может сделать это, и я проверяю документацию и https://jqplay.org/ и я проверил и обнаружил, что map({ s, c , o }) может сделать это, но я не могу найти, как ввести файл и экспортировать файл

1 Ответ

0 голосов
/ 06 мая 2018

jq + mv подход:

jq 'map({s, c, o})' emoji.json > tmp_json && mv tmp_json emoji.json
...