我想用 mikefarah/yq 将一个 k8s 资源文件拆分成每个资源的独立文件。显然,新文件的目标文件名必须是动态的。
K8s 资源的一个非常明显的命名方案是 [kind-name]。所以我想到了这个命令。
yq '.items[]' my-file.yaml -s '.kind + "-" + .metadata.name'
但是 K8S 名称可能包含文件名中不允许的字符,例如冒号。如果发生这种情况,我会收到此错误
错误:打开 ClusterRole-system:[...].yml:文件名、目录名或卷标语法不正确。
有没有办法替换动态目标文件名中的字符?