使用 jq 在 json 文件中查找并附加一个字符串
Find and append an string in json file using jq
我有一个包含以下内容的 Json 文件 meta.json
,我想使用 jq 过滤器在下面的 json 文件中进行查找和追加操作。例如下面的 name
的 json 值是 demo
所以,像 -test
这样附加一个字符串,所以最终值将是 demo-test
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
更新后的 json 文件应包含如下数据
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
JQ滤镜支持吗?我们如何做到这一点?
使用jq
$ jq '.data.name |= . + "-test"' meta.json
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
使用sed
$ sed '/\<name\>/s/[[:punct:]]\+$/-test&/' meta.json
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
我有一个包含以下内容的 Json 文件 meta.json
,我想使用 jq 过滤器在下面的 json 文件中进行查找和追加操作。例如下面的 name
的 json 值是 demo
所以,像 -test
这样附加一个字符串,所以最终值将是 demo-test
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
更新后的 json 文件应包含如下数据
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
JQ滤镜支持吗?我们如何做到这一点?
使用jq
$ jq '.data.name |= . + "-test"' meta.json
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}
使用sed
$ sed '/\<name\>/s/[[:punct:]]\+$/-test&/' meta.json
{
"version": "2.2.0",
"vname": "tf",
"data": {
"name": "demo-test",
"udn": {
"description": "The `main` tf in this template creates a resource`. "
}
}
}