如何处理一个有变化值的句子


wget dnsleaktest.com
cat index.html | grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}"

(grep out the IPv4)

现在我想从.html文件中删除以下内容:

<div class="home-container">
<div class="welcome">
<p class="hello">Hello 127.0.0.1</p>
<p>from Dubai, United Arab Emirates
<img class="flag" src="/assets/img/flags/ae.png" />
</p> 

句子"来自阿拉伯联合酋长国迪拜"但是随着每一个新的"wget"和我的公共IPv4的变化,"来自阿拉伯联合酋长国迪拜"的变化当然了。

是否有一种方法可以grep那个特定的句子?我不能用cat index.html | grep 'from Dubai, United Arab Emirates'正确地表示它;我想这是因为我不知道它的位置。

我希望我能解释我在做什么。有办法吗?

不能用正则表达式解析html文件。使用支持xml的工具

来回的例子:

curl -L dnsleaktest.com | xmllint --html --xpath 'string(//div[@class="welcome"]/p[2])' - 2>/dev/null

但是用那个特定的网站来做geoip是很奇怪的。首先,您可以从包管理器安装geoip。其次,肯定有更好的网站不需要解析HTML,我在谷歌上的第一个随机点击是例如https://ipapi.co/#api .

最新更新