是否可以在查询中使用带有通配符的环境变量?
鉴于:
LevelA:
levelB:
- sometexthere
- other.value.here
以下查询:
yq eval '.LevelA.levelB.[] | select(. == "*text*")' $file
返回:sometexthere
。
也可以使用环境变量:
A="sometexthere" yq eval '.LevelA.levelB.[] | select(. == env(A) )' $file
返回相同的值:sometexthere
. 但是,这有点毫无意义,因为输出与输入变量值相同。
如果通配符与环境变量结合(以匹配部分字符串),则该命令不返回任何内容:
A=text yq eval '.LevelA.levelB.[] | select(. == "*env(A)*")' $file
是否有另一种方法可以使用环境变量使用 yq 搜索部分字符串?