您好,我正在使用curl获取一些我需要清理的信息。 这是来自curl命令:
{"ip":"000.000.000.000","country":"Italy","city":"Milan","longitude":9.1889,"latitude":45.4707, etc..
我需要获取“ Ita”作为输出,即国家的前三个字母。
在阅读sed JSON regular expression之后,我试图适应
sed -e 's/^.*"country":"[a-zA-Z]{3}".*$/\1/
但这不起作用。
可以帮忙吗?
答案 0 :(得分:1)
使用jq,您可以执行以下操作:
curl .... | jq -r '.country[0:3]'
如果您需要 设置 该国家/地区为前三个字符,
jq '.country = .country[0:3]'
一些相当高级的bash:
{
read country
read city
} < <(
curl ... |
jq -r '.country[0:3], .city[0:3]'
)
然后:
$ echo "$country $city"
Ita Mil