#!/bin/bash

if [ $1 ]; then
    awk -F "\t" -v u=$2 '!/^#/{ 
	if (split($3, A, ".") > 1 ) {
		I = lshift(lshift(lshift(A[1],8)+A[2],8)+A[3],8)+A[4];
		split($4, B,".");
		J = lshift(lshift(lshift(B[1],8)+B[2],8)+B[3],8)+B[4];
   		if ( u ) printf"0x%08X\t0x00000000\t0x00000000\t0x00000000\t0x%08X\t0xFFFFFFFF\t0xFFFFFFFF\t0xFFFFFFFF\t%s\n", I, J, $5;
		else printf"0x%08X\t0x%08X\t%s\n", I, J, $5;
	} else if (u && split($3, A, ":") > 1) {
		printf "0x%s%s\t0x%s%s\t0x%s%s\t0x%s%s\t%s\n", A[1],A[2], A[3],A[4], A[5],A[6], A[7],A[8], $5;
	} else next;

    }' $1  > t_$1 
    if [ $3 ]; then 
	sort -n t_$1 > ts_$1
    fi
else
    echo "tfc malfile.txt ipv6(1| ) sort(1| )"
fi

