Am3*_*m3Y 2 linux unix grep awk
我在下面有一个文本文件
{
"data": {
"assigned-entity-id": null,
"assigned-entity-type": null,
"availability-domain": null,
"compartment-id": "ocid1.tenancy.oc1..dgfmmnusmgibmkdomuijsngimimfimfgiufmgifmdsfsdsgsmgsifmg",
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "abcd@gmail.com",
"CreatedOn": "2021-03-20T13:26:04.662Z"
}
},
"display-name": "ABC",
"freeform-tags": {},
"id": "ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdebz7twdxlfdsdssssssaaaaaaadddddd",
"ip-address": "1.1.1.1",
"lifecycle-state": "AVAILABLE",
"lifetime": "XXXXXXX",
"private-ip-id": null,
"public-ip-pool-id": null,
"scope": "REGION",
"time-created": "2021-03-20T13:26:04.748000+00:00"
},
"etag": "cdsssss"
}
{
"data": {
"assigned-entity-id": null,
"assigned-entity-type": null,
"availability-domain": null,
"compartment-id": "ocid1.tenancy.oc1..dgfmmnusmgibmkdomuijsngimimfimfgiufmgifmdsfsdsgsmgsifmg",
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "abcd@gmail.com",
"CreatedOn": "2021-03-20T13:26:09.523Z"
}
},
"display-name": "ASD",
"freeform-tags": {},
"id": "ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdezzzzzzzzzzzzzzzzzzzddddddddddddddd",
"ip-address": "2.2.2.2",
"lifecycle-state": "AVAILABLE",
"lifetime": "XXXXXXX",
"private-ip-id": null,
"public-ip-pool-id": null,
"scope": "REGION",
"time-created": "2021-03-20T13:26:09.583000+00:00"
},
"etag": "dfreeeee"
}
Run Code Online (Sandbox Code Playgroud)
我想要的输出为 ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdebz7twdxlfdsdssssssaaaaaaadddddd ocid1.database.oc1.cd-south-1.amaaaaaagozzzzzzvdddddddddddddddssssssaaaaaaadddddd
我尝试在 google 上搜索,但无法获得任何特定选项。
任何人都可以建议任何 grep、awk 或任何 usnix 命令来获取输出
小智 8
最直接的答案是不要为此尝试使用 grep、sed、awk 等 - 即使他们会这样做,您最终肯定会做出假设并且不得不不断地改组代码。
您可以使用 python 中的内置 json 模块或像jq这样的专用 CLI 工具来完成。
jq 示例:
% cat ids.txt | jq '.data.id'
"ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdebz7twdxlfdsdssssssaaaaaaadddddd"
"ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdezzzzzzzzzzzzzzzzzzzddddddddddddddd"
Run Code Online (Sandbox Code Playgroud)
蟒蛇示例:
% cat ids.txt | python3 -c "import sys, json; print(json.load(sys.stdin)['data']['id'])"
ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdebz7twdxlfdsdssssssaaaaaaadddddd
ocid1.database.oc1.cd-south-1.amaaaaaago5rdtya6mmvwjfdpdezzzzzzzzzzzzzzzzzzzddddddddddddddd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |