Разбор JSON и MALIPULLE его значения объекта

Я получил эту идею от использования контроллера mate на osx...

Сопоставить оба в одном конфиге. Вы можете изменить отображение клавиатуры, чтобы они не имели одинакового нажатия клавиш, или вы можете изменить тип входа на вход класса HID, который поддерживает ваша система. В любом случае, если у вас несколько конфигураций, будет использоваться только одна. Проверьте, включен ли js1, если нет, используйте конфигурацию 1 только с js0, в противном случае используйте конфигурацию с обоими отображениями.

Section "InputClass"
Identifier "Joystick 1 mapping"
    Option "device" "/dev/input/js0"
    Option "path" "/dev/input/js0"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
Identifier "Joystick 2 mapping"
    Option "device" "/dev/input/js1"
    Option "path" "/dev/input/js1"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
EndSection
3
10.01.2019, 21:08
2 ответа
$cat xyz.json | jq '.[3].annotations=.[0].annotations'
3
27.01.2020, 21:21

это также можно сделать с помощьюjtcв одной строке:

bash $ cat xyz.json | jtc -w'<vc00_02204.png>[-1][annotations]' -eu jtc -w'<vc00_02201.png>[-1][annotations]' xyz.json \; 
[
   {
      "annotations": [
         "a",
         "b",
         "c"
      ],
      "class": "image",
      "filename": "vc00_02201.png"
   },
   {
      "annotations": [],
      "class": "image",
      "filename": "vc00_02202.png"
   },
   {
      "annotations": [],
      "class": "image",
      "filename": "vc00_02203.png"
   },
   {
      "annotations": [
         "a",
         "b",
         "c"
      ],
      "class": "image",
      "filename": "vc00_02204.png"
   }
]
bash $ 

Конечно, это можно было сделать с помощью прямой ссылки на элементы массива, например:

bash $ cat xyz.json | jtc -w'[3][annotations]' -eu jtc -w'[0][annotations]' xyz.json \;

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

0
27.01.2020, 21:21

Теги

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