【发布时间】:2019-02-27 20:51:11
【问题描述】:
您好,我正在使用 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/
但这行不通。
你能帮忙吗?
【问题讨论】:
-
使用
sed -E 's/.*"country":"([a-zA-Z]{3}).*/\1/' file。或者,grep -Po '"country":"\K[A-Za-z]{3}' file -
不推荐。使用 JSON 解析器,例如 jq
标签: bash curl sed expression