使用我们的新API我试图从API调用的结果中提取几行,并将这些结果放入bash数组中。任何人都可以帮我这个。这是API输出的示例:
{
"id": "1l2k3j",
"createDate": "2015-03-06T03:40:29.000Z",
"accountId": "12345",
"url": "www.google.com",
},
{
"id": "z0x99c",
"createDate": "2015-03-06T03:43:04.000Z",
"accountId": "12345",
"url": "www.yahoo.com",
},
我需要将id(例如:z0x99c)放入bash数组中。
答案 0 :(得分:2)
array=($(tr -d '",' < file | awk '/id:/ {print $2}'))
或使用GNU sed:
array=($(sed -n 's/.*"id": "\(.*\)".*/\1/p' file))
或使用GNU grep:
array=($(grep -oP 'id": "\K[^"]*' file))
echo ${array[@]}
输出:
1l2k3j z0x99c
答案 1 :(得分:0)
取决于您获得此输出的方式,
array=($(curl http://api.example.com/boink | jq -r '.id'))