这就是问题所在。我正在阅读我的服务器(centos)访问日志并使用 Sarel Botha 的 ipv4 address extract grep 命令 from here。
由于我的服务器在 nohup 中运行 java 来提供连接,并且所有客户端的 ipv4 地址都写在 nohup.out 中。
结合起来,如果我跑
tail -f nohup.out|grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
然后我会在 nohup.out 上的新记录之后有一个 IP 地址列表,比如
111.111.111.111
222.222.222.222
并且每个 ipv4 地址都将在一行中输出。
现在,我需要从 nohup.out 中获取每个 ipv4 地址“greped”并将其发送到 ip geolocation query API,查询所需的格式是
GET http://example.com/api/json/111.111.111.111
或者
curl http://example.com/api/json/111.111.111.111
谁能告诉我如何保存 ipv4 地址,然后将其用于查询,并在我的 tail -f 命令之后获得查询输出?