如何通过 awk 或 grep 过滤数据以仅获取时间?

如何通过 awk 或 grep 过滤数据以仅获取时间?
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance/compute/tagsList? 
api-version=2019-06-04"| 

通过上面的命令我得到如下输出

root@puppetagent-ubuntu1:/home/azureuser# grep -i "shutdown_time" test.txt  |awk '/value/{print}' |jq

[ { "name": "Application_Name", "value": "POC-Exception" }, { "name": "Cost_Center", "value": "1000501541" }, { "name": "Stage", "value": "POC" }, { "name": "shutdown_time", "value": "16:00 [IST]" } ]

因此,我想过滤时间和时区的值类似于 IST 或 PST 的位置,但其中时间不固定且时区也不固定。请帮帮我。

答案1

使用jq

$ ... | jq -r '.[]|select(.name == "shutdown_time").value'
16:00 [IST]

$ ... | jq -r '.[]|select(.name == "shutdown_time").value' | cut -d' ' -f1
16:00

相关内容