我想从较大的 swagger.json 文件内容中替换示例 json 中的值,但它太大了。
Error:
/usr/bin/jq: Argument list too long error bash
Run Code Online (Sandbox Code Playgroud)
花了几天时间来解决这个问题,但无法在这里确定问题。这是示例 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
}
}
Run Code Online (Sandbox Code Playgroud)
这是我使用的命令,它给了我一个错误,因为参数太大。
swagger = $(cat swagger.json)
jq -r --arg swagger "$swagger" '.apiDefinition = $swagger' <<<"$json"
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗!
招摇= $(猫招摇.json)
Q 没有明确说明如何$swagger设置,但似乎--arg swagger $swagger最好使用面向文件的命令行选项之一,也许类似于:
--argfile swagger swagger.json
Run Code Online (Sandbox Code Playgroud)
有很多替代方案,但为了在这里明智地探索这些方案,最好提供至少一个完整但非常微小的示例。(该示例不必说明“参数列表太长”错误!)
如果您担心该--argfile选项已被弃用,那么请务必使用--slurpfile它(如果您jq有该选项),但请注意,后一个选项将文件内容包装到 JSON 数组中,因此您必须考虑到这一点。
这些和其他选项都在https://stedolan.github.io/jq/manual/的官方文档中简洁地介绍了
| 归档时间: |
|
| 查看次数: |
7650 次 |
| 最近记录: |