使用 yq 编辑数组中的 yaml 对象。加速 Terminalizer 的终端转换(记录)

Edit yaml objects in array with yq. Speed up Terminalizer's terminal cast (record)

目标:加速 Terminalizer 的终端投射(记录)

我有使用 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-factorterminalizer play的情况下加快回报。为此,应该减少 delays。

所以,我需要创建 yq-expression 来降低延迟

.records.delay=.records.delay/3

但是这个表达式不起作用。请帮忙写一个合适的。

.records 是一个数组,所以你可以使用这个过滤器:

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

或者您可能更喜欢:

.records[].delay |= (. /= 3)