asn|prefix|ip|domain
25008|85.192.184.0/21|85.192.184.59|solusi-it.com
25008|85.192.184.0/21|85.192.184.59|samtimes.ru
131755|103.31.224.0/24|103.31.224.58|karosel-ind.com
131755|103.31.224.0/24|103.31.224.58|solusi-it.com
9318|1.232.0.0/13|1.234.91.168|solusi-it.com
9318|1.232.0.0/13|1.234.91.168|es350.co.kr
有没有办法可以使用Linux Bash命令计算唯一域上的唯一ips数量并获得这样的结果?
domain|count_ip
solusi-it.com|3
samtimes.ru|1
karosel-ind.com|1
es350.co.kr|1
解决方法:
随着perl:
perl -F'\|' -lane '
$. > 1 and $domains->{$F[3]}->{$F[2]}++;
END{
print "domain|count_ip";
print $_, "|", scalar keys %{ $domains->{$_} } for keys %$domains;
}
' file | tee new_file
这背后的想法是使用HASH的哈希
$domains->{$F[3]}->{$F[2]}++
$F [3]是域名,$F [2]是IP.独特性是保证. HASH键始终是唯一的.
OUTPUT:
domain|count_ip
es350.co.kr|1
karosel-ind.com|1
samtimes.ru|1
solusi-it.com|3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。