#!/bin/bash

if [ $1 ]; then

  if [ $2 ]; then
    
    awk '!/^#/{ 
	IFS="\t";OFS="\t";
	n=split($3,A,";"); 
	for (i=1;i<=n;i++) print A[i],$2; 
    }' tf_malsite.txt | sort -k1 | uniq | awk '
      BEGIN{ a=""; u=0;} {
	 if (FNR==1) a=$1; 
	 if ($1==a) { u=or(u,strtonum($2)); }
	 else {
	    printf "%s\t0x%08X\n", a,u; 
	    a=$1;
	    u=strtonum($2);
	 }
      } 
      END{ 
	printf "%s\t0x%08X\n", a,u; 
      }'

  else

    awk '{ 
	split($1, A, "."); 
	I = lshift(lshift(lshift(A[1],8)+A[2],8)+A[3],8)+A[4]; 
	printf "0x%08X\t%s\n",I,$2; 
    }' tf_malsite.txt | sort -n | uniq

  fi

else
    echo "ipd malfile.txt (domain:1|ip:)"
fi

