我无法从服务器日志中的其他数据混乱中将我的站点服务器的IP地址注销。 在我打开Excel之前,我知道有一种方法可以做到这一点,因为我发现与我想要的相反,从AWS中删除IP:
cat web.log | awk '{$1=$2=$3=""}1' > web-no-ip.log
一步一步或作弊这种事情将是惊人的。
我假设IP地址是XXXX的典型格式,其中X在[0,255]之间。 知道这个,grep可以做得非常好:
grep -oP '(0|[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.(0|[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}' filename.txt
(0|[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])将匹配0到255之间的任何数字,例如,0,255,019等。然而,正如所写的,它将匹配1.1.1.1.5 (五个八位字节)之类的东西。 这也不跟踪IPV6地址。
如果您希望日志只包含看起来像XXXX有效IP地址,并且我们可以假设X不会失效,则可以使用更简单的expression式:
grep -oP '\d{1,3}(\.\d{1,3}){3}' filename.txt