【发布时间】:2020-05-08 06:57:58
【问题描述】:
我想用较大的 swagger.json 文件内容替换示例 json 中的值,但它太大了。
Error:
/usr/bin/jq: Argument list too long error bash
花了几天时间解决了这个问题,但在这里无法确定问题所在。 这是示例 json 文件:
{
"name": "",
"description": "",
"context": "",
"version": "",
"provider": "cbs",
"apiDefinition": "",
"wsdlUri": null,
"responseCaching": "Disabled",
"cacheTimeout": 300,
"destinationStatsEnabled": false,
"isDefaultVersion": true,
"transport": [
"http",
"https"
],
"tags": ["PROVIDER_","MIFE"],
"tiers": ["Unlimited","Default","Silver","Subscription","Gold","Premium","Bronze"],
"maxTps": {
"sandbox": 5000,
"production": 1000
},
"visibility": "PUBLIC",
"visibleRoles": [],
"endpointConfig": "",
"endpointSecurity": {
"username": "user",
"type": "basic",
"password": "pass"
},
"gatewayEnvironments": "Production and Sandbox",
"sequences": [],
"subscriptionAvailability": null,
"subscriptionAvailableTenants": [],
"businessInformation": {
"businessOwnerEmail": "BUSINESSOWNEREMAIL_",
"technicalOwnerEmail": "TECHNICALOWNEREMAIL_",
"technicalOwner": "TECHNICALOWNER_",
"businessOwner": "BUSINESSOWNER_"
},
"corsConfiguration": {
"accessControlAllowOrigins": ["*"],
"accessControlAllowHeaders": [
"authorization",
"Access-Control-Allow-Origin",
"Content-Type",
"SOAPAction"
],
"accessControlAllowMethods": [
"GET",
"PUT",
"POST",
"DELETE",
"PATCH",
"OPTIONS"
],
"accessControlAllowCredentials": false,
"corsConfigurationEnabled": false
}
}
- swagger.json 文件 - Click here to download swagger.json file
这是我使用的命令,它给了我一个错误,因为我的参数太大。
swagger = $(cat swagger.json)
jq -r --arg swagger "$swagger" '.apiDefinition = $swagger' <<<"$json"
谁能帮忙!
swagger = $(cat swagger.json)
【问题讨论】:
-
你为什么编辑掉脚本的一部分?可以回帖吗?并向我们展示如何重现该问题?同时发布您正在尝试的
jq版本。 -
我想用 swagger.json 值替换 apiDefinition 关键字值。
-
jq - 命令行 JSON 处理器 [版本 1.5-1-a5b5cbe]
-
如果文件太长,请将其发布到外部文件仓库并在此处链接
-
对不起!不能分享:(