我想从下面的命令中获取特定信息
[root@test opc]# /bin/oci compute instance list-vnics --instance-id ocid1.instance.oc1.ap-mumbai-1.anrg6ljrkfvuezyc6w4ytv75l55nscz7gg7rwzg55twubrza2uz4j7kzu66a
Run Code Online (Sandbox Code Playgroud)
输出如下
{
"data": [
{
"availability-domain": "ucJX:AP-MUMBAI-1-AD-1",
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaaqtzldjhvlvbaoheda67fuwkaldini7h6txiglp7yrx2nc4pm3nka",
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "oracleidentitycloudservice/abcd7@gmail.com",
"CreatedOn": "2022-08-23T12:08:39.326Z"
}
},
"display-name": "xx",
"freeform-tags": {},
"hostname-label": null,
"id": "ocid1.vnic.oc1.ap-mumbai-1.abrg6ljrdvonadtpflqh2zqd5f4i6nuhppq2pzdvuvr75w4mz6mvy7hdhuia",
"is-primary": false,
"lifecycle-state": "AVAILABLE",
"mac-address": "02:00:17:02:F1:53",
"nsg-ids": [],
"private-ip": "100.10.10.227",
"public-ip": null,
"skip-source-dest-check": false,
"subnet-id": "ocid1.subnet.oc1.ap-mumbai-1.aaaaaaaaa2s7zfva3efszqdlacsel7pg2doxcc5yhqt4xt25jrzah5e6ntbq",
"time-created": "2022-08-23T12:08:41.807000+00:00",
"vlan-id": null
},
{
"availability-domain": "ucJX:AP-MUMBAI-1-AD-1",
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaaqtzldjhvlvbaoheda67fuwkaldini7h6txiglp7yrx2nc4pm3nka",
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "oracleidentitycloudservice/abcd@gmail.com",
"CreatedOn": "2022-08-21T16:40:37.685Z"
}
},
"display-name": "test",
"freeform-tags": {},
"hostname-label": "test",
"id": "ocid1.vnic.oc1.ap-mumbai-1.abrg6ljriaxzes5wtacij7lwhcihv72sva3s5od5ngo6i4v6kv4d6zamypza", …
Run Code Online (Sandbox Code Playgroud) 我有一个很大的 json 文件,我将该文件的两个部分放在下面。
[
{
"description": null,
"icmp-options": null,
"is-stateless": false,
"protocol": "17",
"source": "1.0.0.0/8",
"source-type": "CIDR_BLOCK",
"tcp-options": null,
"udp-options": {
"destination-port-range": null,
"source-port-range": {
"max": 1433,
"min": 521
}
}
},
{
"description": null,
"icmp-options": null,
"is-stateless": false,
"protocol": "17",
"source": "1.0.0.0/8",
"source-type": "CIDR_BLOCK",
"tcp-options": null,
"udp-options": {
"destination-port-range": null,
"source-port-range": {
"max": 1899,
"min": 1435
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
我想更改目标端口范围值,如下所示
"destination-port-range": {
"max": 100,
"min": 90
},
Run Code Online (Sandbox Code Playgroud)
由于 json 文件非常大,有人可以帮助我如何使用 jq 或任何其他方法来完成此操作?
我有一个文本文件IP:PORT
,例如
1.1.1.1:1919
2.2.2.2:111
1.1.1.1:987
Run Code Online (Sandbox Code Playgroud)
我需要在 JSON 格式的脚本中使用它们:
async def main(loop):
servers = [{
"address": "ip",
"port": port
}, {
"address": "ip",
"port": port
}]
Run Code Online (Sandbox Code Playgroud)
我需要输出为
async def main(loop):
servers = [{
"address": "1.1.1.1",
"port": 1919
}, {
"address": "2.2.2.2,
"port": 111
}, {
"address": "1.1.1.1,
"port": 987
}]
Run Code Online (Sandbox Code Playgroud)
我正在使用Linux。
我有两个文件fileA和fileB
fileA 有很多 IP,而 fileB 有较少 IP。我们该怎么办
fileA - fileB = fileC(没有公共 IP 的文件)
文件A
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
5.5.5.5
Run Code Online (Sandbox Code Playgroud)
文件B
4.4.4.4
1.1.1.1
Run Code Online (Sandbox Code Playgroud)
文件C
2.2.2.2
3.3.3.3
5.5.5.5
Run Code Online (Sandbox Code Playgroud)
我在谷歌上有很多选择,但找不到任何相关的东西
我从命令中得到以下输出。
{
"data": {
"access-type": "ObjectRead",
"access-uri": "/p/u4yRbnS_Yv29ivICXNWz-76BAgBqfln0SthBVYLZ3AdPOs9BKTQEH48MZEJNvXaT/n/bmjx6wj24zrv/b/season5/o/abcd.zip",
"bucket-listing-action": null,
"id": "tePBaSkrsUEBY+rKK0HiwraPn76TLD86BOsqm7dr3cqjNXp6026BouTf9kQoKzZk:abcd.zip",
"name": "abcd.zip",
"object-name": "abcd.zip",
"time-created": "2022-10-27T02:20:17.430000+00:00",
"time-expires": "2023-02-01T00:00:00+00:00"
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我提取access-uri的值根据上面的示例,输出应该是
/p/u4yRbnS_Yv29ivICXNWz-76BAgBqfln0SthBVYLZ3AdPOs9BKTQEH48MZEJNvXaT/n/bmjx6wj24zrv/b/season5/o/abcd.zip
Run Code Online (Sandbox Code Playgroud) #!/bin/bash
SERVERLABEL=( 11011-22022 33033-44044-10101 55055-10001-20002 )
for vmlabel in "${SERVERLABEL[@]}"
do
linode-cli linodes list | grep $vmlabel | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
done
Run Code Online (Sandbox Code Playgroud)
上面是我的脚本。我想要做的是将每个虚拟机的 ipv4 保存在不同的环境变量中,例如
ipv4_11011-22022
ipv4_33033-44044-10101
ipv4_55055-10001-20002
Run Code Online (Sandbox Code Playgroud)
我是 bash 脚本新手,有人可以帮助我吗