我有一个 json 对象,其中一个字段的值例如“ countries- sapi
-1.0
”、“ inventory-list- api
-1.0-snapshot
”
请注意,第一个有sapi
,另一个有api
。
使用jq
,我怎样才能获得country-sapi或inventory-list-api我的意思是版本之前的任何内容。版本可以很简单,例如1.0
或1.0.1-snapshot
等等。
例如,
输入:
{
"id":"abc",
"name": "name-middlenane-lastname-1"
},
{
"id":"123",
"name": "fname-flast-2"
}
Run Code Online (Sandbox Code Playgroud)
回复:
{
"id":"abc",
"name": "name-middlename-lastname-1",
"newkey": "name-middlename-lastname"
},
{
"id":"123",
"name": "fname-flast-2",
"newkey": "fname-flast"
}
Run Code Online (Sandbox Code Playgroud)
每个对象中的文件名是一个字符串,其中包含由“-”连字符分隔的字符和数字。我需要从开头到起始数字的完整字符串。我不想要号码后面的任何内容。然后添加新字段,其键为newkey,值应提取不带数字的字符串。因此,输出应包含旧字段和新字段。