Ric*_*kwa 5 bash awk gitlab-ci-runner
我正在尝试获取仅包含 gitlab 运行者姓名的列表。
所以输出gitlab-runner list 2>&1是:
Listing configured runners ConfigFile=/etc/gitlab-runner/config.toml
default_runner Executor=shell Token=251cda361f983e612b27381e2f73ad URL=http://10.6.20.230
test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230
Run Code Online (Sandbox Code Playgroud)
请注意,跑步者的姓名中可以包含空格。
所以我尝试了以下方法:
gitlab-runner list 2>&1 | awk -F'Executor' '{if(NR>1)print $1}'这给了我几乎我想要的东西(除了我需要删除的尾随空格)。
default_runner
test runner
Run Code Online (Sandbox Code Playgroud)
但是,如果我将字段分隔符更改为Executor=希望使其更加明确,则它不再起作用。它返回整行。
$ gitlab-runner list 2>&1 | awk -F'Executor=' '{if(NR>1)print $1}'
default_runner Executor=shell Token=251cda361f983e612b27381e2f73ad URL=http://10.6.20.230
test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230
Run Code Online (Sandbox Code Playgroud)
我尝试过逃避它,但Executor\=没有成功。如何在分割中包含等号?
编辑:
如果我取其中一行并将其回显到 awk 中,它就会起作用
$ echo "test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230" | awk -F'Executor=' '{print $1}'
test runner
Run Code Online (Sandbox Code Playgroud)
另一件需要注意的事情是,无论出于何种原因,gitlab-runner list都会打印到 stderr。这就是为什么我在通过管道传输到 awk 之前重定向到 stdout。也许我没有正确重定向?但这实际上没有意义,因为 awk 在没有等号的情况下选取它。
Executor=从命令进行管道传输时无法拆分的原因gitlab-runner是因为Executor=字符串不存在!至少不是那种形式 -gitlab-runner添加一些ANSI 颜色代码(ESC[0;m用于重置所有属性):
$ gitlab-runner list 2>&1 | cat -A
default_runner ^[[0;m Executor^[[0;m=shell Token=86ab70918fc87c...
# ^^^^^^ ^^^^^^ <-- ANSI color codes
Run Code Online (Sandbox Code Playgroud)
为了证明这一点,请尝试运行:
$ gitlab-runner list 2>&1 | awk -F 'Executor\x1b\\[0;m=' '{print $1}'
default_runner
Run Code Online (Sandbox Code Playgroud)
有一个公开提案,要求在 中添加一个禁用颜色输出的选项gitlab-runner,但它已经开放 10 个月了,没有太多社区支持。在他们决定添加该选项之前,如果您愿意,您可以删除 ANSI 颜色代码,例如像这样或这样。
请注意,在POSIX和GNU awk中,-F都接受 ERE 表达式。所以,Executor=一般来说应该可以工作(没什么特别的=)。要处理空格,您可以使用<space>*Executor=:
$ cmd | awk -F ' *Executor=' 'NR>1 {print $1}' | cat -A
default_runner$
test runner$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7376 次 |
| 最近记录: |