gpt4 book ai didi

yaml - yq 处理带引号的字符串

转载 作者:行者123 更新时间:2023-12-04 12:16:33 27 4
gpt4 key购买 nike

目前我正在尝试使用 mikefarah/yq 在 YAML 文件中交换一个字符串但带有双引号处理器(Ubuntu 机器上的 3.1.2 版)类似于以下内容:

config:
app:
name: "string"

所以我首先尝试用经典的方式为我解决这个问题:
yq w -i appconfig.yml config.app.name "exchangedstring"

但是引号中没有包含在字符串中。
config:
app:
name: exchangedstring

我已经多次尝试对字符串进行转义以获得所需的结果,但不幸的是,一切都不是所需的结果。例如,如果我将字符串设置为三重(类似于“””),则设置了引号,但是它周围有一个单引号。它看起来像这样:
config:
app:
name: '"exchangedstring"'

但我想要的结果是这样的:
config:
app:
name: "exchangedstring"

我还尝试使用不同变体的反斜杠(例如“\"exchangedstring\""或 '\"exchangedstring\"')。不幸的是所有错误的结果。
我不能排除稍后解析 yaml 文件的应用程序不会与该位置的字符串混淆的可能性,因此该字符串在该位置用引号引起来对我来说是绝对必要的。

有没有人知道我如何仍然只能得到一个简单版本的引号?
非常感谢您提前。

最佳答案

mikefarah/yq 的最新版本(v3 以上)有一个 --style option引入它允许您对值进行自定义格式设置。例如您可以使用 --style=double双引号值

yq w -i appconfig.yml config.app.name --style=double exchangedstring

关于yaml - yq 处理带引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62198943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com