
#!/bin/sh
# File	: compare_netapp_atos-filer-list.sh
# By	: Maarten.deBoer@atos.net, 140627
# Subject	: Script to compare the NetApp-filer-list with the Atos-filer-list
#set -x
PGM="`basename $0|cut -d\. -f1`" 
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"

# Input
NETAPPLIST="${HOME}/data/in/netapp_filer-list.csv"
ATOSLIST="${HOME}/data/in/atos_filer-list.csv"
# Output
NETAPPFOUND="${HOME}/data/out/NetApp-OK-found.csv"
NETAPPNOTFOUND="${HOME}/data/out/NetApp-NOT-found.csv"
ATOSNOTHOSTNAME="${HOME}/data/out/Atos-NOT-hostname.csv"
ATOSFOUND="${HOME}/data/out/Atos-OK-found.csv"
ATOSNOTFOUND="${HOME}/data/out/Atos-NOT-found.csv"
NETAPPNOTHOSTNAME="${HOME}/data/out/NetApp-NOT-hostname.csv"

touch ${TMP}
echo "`date` ${PGM} Started."|tee -a ${LOG}

if [ ! -f ${NETAPPLIST} ]; then
  echo "NO ${NETAPPLIST} found. So exiting ..."|tee -a ${LOG}
  exit 2
fi

if [ ! -f ${ATOSLIST} ]; then
  echo "NO ${ATOSLIST} found. So exiting ..."|tee -a ${LOG}
  exit 2
fi

# Clear outputfiles
cp /dev/null ${NETAPPFOUND}
cp /dev/null ${NETAPPNOTFOUND}
cp /dev/null ${ATOSNOTHOSTNAME}

# From NetApp 2 Atos
cat ${NETAPPLIST}|grep -v ^# | while read LINE
do
#  echo ${LINE}
  SERIALNUMBER="`echo ${LINE}|awk -F\; '{print $5}'`"
  HOSTNAME="`echo ${LINE}|awk -F\; '{print $7}'`"
  echo "${SERIALNUMBER} - ${HOSTNAME}"

  grep ${SERIALNUMBER} ${ATOSLIST} 1> /dev/null 2>&1
  EC=${?} 
  if [ ${EC} -eq 0 ]; then
    CNT="`grep ${SERIALNUMBER} ${ATOSLIST}| wc -l`"
    if [ ${CNT} -lt 2 ]; then
      grep -i "${HOSTNAME}" ${ATOSLIST} 1> /dev/null 2>&1
      EC=${?} 
      if [ ${EC} -eq 0 ]; then
        echo ${LINE} >> ${NETAPPFOUND}
      else
        grep "${SERIALNUMBER}" ${ATOSLIST} >> ${ATOSNOTHOSTNAME}
      fi
    else
      echo "More then 1 (${CNT}) line in ${ATOSLIST} for ${SERIALNUMBER}"|tee -a ${LOG}
    fi  # -lt 2
  else
    echo ${LINE} >> ${NETAPPNOTFOUND}
  fi  # grep ${SERIALNUMBER} ${ATOSLIST} 

done  # cat ${NETAPPLIST}

cp /dev/null ${ATOSFOUND}
cp /dev/null ${ATOSNOTFOUND}
cp /dev/null ${NETAPPNOTHOSTNAME}

# From Atos 2 NetApp
cat ${ATOSLIST}|grep -v ^# | while read LINE
do
#  echo ${LINE}
  SERIALNUMBER="`echo ${LINE}|awk -F\; '{print $6}'`"
  HOSTNAME="`echo ${LINE}|awk -F\; '{print $1}'`"
  echo "${SERIALNUMBER} - ${HOSTNAME}"

  grep ${SERIALNUMBER} ${NETAPPLIST} 1> /dev/null 2>&1
  EC=${?}
  if [ ${EC} -eq 0 ]; then
    CNT="`grep ${SERIALNUMBER} ${NETAPPLIST}| wc -l`"
    if [ ${CNT} -lt 2 ]; then
      grep -i "${HOSTNAME}" ${NETAPPLIST} 1> /dev/null 2>&1
      EC=${?}
      if [ ${EC} -eq 0 ]; then
        echo ${LINE} >> ${ATOSFOUND}
      else
        grep "${SERIALNUMBER}" ${NETAPPLIST} >> ${NETAPPNOTHOSTNAME}
      fi
    else
      echo "More then 1 (${CNT}) line in ${ATOSLIST} for ${SERIALNUMBER}"|tee -a ${LOG}
    fi  # -lt 2
  else
    echo ${LINE} >> ${ATOSNOTFOUND}
  fi  # grep ${SERIALNUMBER} ${NETAPPLIST}

done  # cat ${NETAPPLIST}


rm ${TMP}
echo "`date` ${PGM} Finished."|tee -a ${LOG}
exit 0

