Редактировать объекты yaml в массиве с помощью yq. Ускорить приведение терминала Терминализатора (запись)

Цель: ускорить приведение терминала Терминализатора (запись)

У меня есть запись терминала, созданного с помощью Terminalizer. cast.yaml:

# The configurations that used for the recording, feel free to edit them
config:
  # do not touch it

# Records, feel free to edit them
records:
  - delay: 841
    content: "\e]1337;RemoteHost=kyb@kyb-nuc\a\e]1337;CurrentDir=/home/kyb/devel/git-rev-label\a\e]1337;ShellIntegrationVersion=7;shell=fish\a"
  - delay: 19
    content: "\e]1337;RemoteHost=kyb@kyb-nuc\a\e]1337;CurrentDir=/home/kyb/devel/git-rev-label\a\e]0;fish /home/kyb/devel/git-rev-label\a\e[30m\e(B\e[m"
  - delay: 6
    content: "\e[?2004h"
  - delay: 28
    content: "\e]0;fish /home/kyb/devel/git-rev-label\a\e[30m\e(B\e[m\e[2m⏎\e(B\e[m                                                                                                                                                        \r⏎ \r\e[K\e]133;D;0\a\e]133;A\a\e[44m\e[30m ~/d/git-rev-label \e[42m\e[34m \e[42m\e[30m demo  \e[30m\e(B\e[m\e[32m \e[30m\e(B\e[m\e]133;B\a\e[K"
  - delay: 1202
    content: "#\b\e[38;2;231;197;71m#\e[30m\e(B\e[m"
  - delay: 134
    content: "\e[38;2;231;197;71m#\e[30m\e(B\e[m"
  - delay: 489
    content: "\e[38;2;231;197;71m \e[30m\e(B\e[m"
  - delay: 318

Я хочу ускорить окупаемость без прохождения --speed-factor в terminalizer play, Сделать так delayдолжно быть уменьшено.

Итак, мне нужно создать yq-выражение, чтобы уменьшить задержки

.records.delay=.records.delay/3

но это выражение не сработает. Пожалуйста, помогите написать правильный.

1 ответ

Решение

.records - это массив, поэтому вы можете использовать этот фильтр:

.records |= map(.delay /= 3)

Или вы можете предпочесть:

.records[].delay |= (. /= 3)
Другие вопросы по тегам