whereami -r 如何显示结果的特定值?

whereami -r how to display specific value from result?

我想知道如何从以下命令中提取特定值?

我正在使用 whereami 获取计算机当前的地理位置。

https://www.2daygeek.com/whereami-to-get-your-geolocation-information-linux-command-line/

whereami -r

上面的命令让我得到了这个结果

{
  "ip": "97.16.15.10",
  "country_code": "US",
  "country_name": "United States",
  "region_code": "NY",
  "region_name": "New York",
  "city": "The Bronx",
  "zip_code": "10473",
  "time_zone": "America/New_York",
  "latitude": 40.802,
  "longitude": -73.80,
  "metro_code": 501
}

从结果来看,在本例中我只需要城市值“The Bronx”。

使用合适的 json 解析器,例如 jq:

whereami -r | jq  '.city'

Sed 替代方案:

whereami -r | sed -rn 's/(^.*city": ")(.*)(".*$)//p'

根据正则表达式将响应分成三个部分。替换第二部分的行并打印。