
#!/bin/sh
# File	: proc_csv-files.sh
# By	: Maarten.deBoer@Atos.net
# SUbject	: Script to process all csv-files for filers-releases
#(0.2}	: Added BASEDIR & COUNTRY
#(0.3)	: Added disks-broken. Mod COUNTRY
#(0.4)	: Mod data-struct, Remove ${COUNTRY}
#(0.5)	: Mod. sh-> ksh, Add uptime
#(0.6)	: Mod. for " in IN file
#(0.7)	: Mod for added LASTDATE at incomming, UPTIMEDAYS & added cut @CONTROLLER
#(0.8)  : Check for file in DAY-dir (otherwise created empty file)
#(0.9)	: Mod dfm-filer-name-loc-model-os-fw-sn-partner_*.csv into *-filer-name-loc-model-os-fw-sn-partner_*.csv
PGM="`basename $0|cut -d\. -f1`"
VER="0.9"
TMP="/tmp/${PGM}.$$"


#BASEDIR="/appl/mdr/afsp/NL"
BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
ETCENV="${BASEDIR}/etc/afsp.env"
LOG="${BASEDIR}/log/${PGM}.log"

INDIR="${BASEDIR}/incomming"
OUT="${BASEDIR}/data/${PGM}.csv"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "BASEDIR=${BASEDIR}"

# Proces more files in INDIR
cd ${INDIR}
LASTDIR="`ls -1d 20??-??-??|tail -1`"
cd ${LASTDIR}

# Models
echo "model-os-version"
OUT="${BASEDIR}/data/model-version/dfm-filer-name-loc-model-os-fw-sn-partner.csv"

# Check is filer are available
ls *-filer-name-loc-model-os-fw-sn-partner_*.csv 1> /dev/null 2> /dev/null
EC=${?}
if [ ${EC} -eq 0 ]; then
  echo '#"Controller Name";"Controller Locations";"Controller Model";"Controller OS Version";"Controller Firmware Version";"Controller Serial Number";"Controller Partner";"Controller Contact";Input;' > ${OUT}
  ls -1 *-filer-name-loc-model-os-fw-sn-partner_*.csv | while read FILE
  do
    grep ';' ${FILE} 1> /dev/null 
    RC=${?}
# If 0, file has ; 
    if [ ${RC} -eq 0 ]; then
      echo "${FILE} ; ..."
      cat ${FILE}|egrep -v 'Controller|Total'|sort|while read LINE
      do
        NAME="`echo ${LINE}|awk -F\; '{print $1}'`"
        LOCATION="`echo ${LINE}|awk -F\; '{print $2}'`"
        MODEL="`echo ${LINE}|awk -F\; '{print $3}'`"
        OSVERSION="`echo ${LINE}|awk -F\; '{print $4}'`"
        FWVERSION="`echo ${LINE}|awk -F\; '{print $5}'`"
        SERNR="`echo ${LINE}|awk -F\; '{print $6}'`"
        PARTNER="`echo ${LINE}|awk -F\; '{print $7}'`"
        CONTACT="`echo ${LINE}|awk -F\; '{print $8}'`"
	    echo "${NAME} ..."

        echo ${MODEL}|egrep '^FAS|^N|^V' 1> /dev/null
        RC=${?}
        if [ ${RC} -eq 0 ]; then
          echo "${NAME};${LOCATION};${MODEL};${OSVERSION};${FWVERSION};${SERNR};${PARTNER};${CONTACT};" >> ${OUT}
        else
          if [ "${NAME}" != "" ]; then
            echo "${NAME};;;;;;;;"| tee -a ${OUT}
            echo "ERROR ${NAME}"|tee -a ${LOG}
          fi
        fi
      done  # cat
      else  # if ;
      echo "${FILE} , ..."
      cat ${FILE}|egrep -v 'Controller|Total'|while read LINE
      do
	    echo ${LINE}|grep \"
	    EC=${?}
	    if [ ${EC} -eq 0 ]; then
	      LINE2=`echo ${LINE}|awk -F\" '{print $1$3}'`
	      LOCATION=`echo ${LINE}|awk -F\" '{print $2}'`
#echo ${LINE2}
          NAME="`echo ${LINE2}|awk -F\, '{print $1}'`"
          LOCATION="`echo ${LINE2}|awk -F\, '{print $2}'`"
          MODEL="`echo ${LINE2}|awk -F\, '{print $3}'`"
          OSVERSION="`echo ${LINE2}|awk -F\, '{print $4}'`"
          FWVERSION="`echo ${LINE2}|awk -F\, '{print $5}'`"
          SERNR="`echo ${LINE2}|awk -F\, '{print $6}'`"
          PARTNER="`echo ${LINE2}|awk -F\, '{print $7}'`"
          CONTACT="`echo ${LINE2}|awk -F\, '{print $8}'`"
	    else
          NAME="`echo ${LINE}|awk -F\, '{print $1}'`"
          LOCATION="`echo ${LINE}|awk -F\, '{print $2}'`"
          MODEL="`echo ${LINE}|awk -F\, '{print $3}'`"
          OSVERSION="`echo ${LINE}|awk -F\, '{print $4}'`"
          FWVERSION="`echo ${LINE}|awk -F\, '{print $5}'`"
          SERNR="`echo ${LINE}|awk -F\, '{print $6}'`"
          PARTNER="`echo ${LINE}|awk -F\, '{print $7}'`"
          CONTACT="`echo ${LINE}|awk -F\, '{print $8}'`"
	    fi
	    echo "${NAME} - ${MODEL}..."

        echo ${MODEL}|egrep '^FAS|^N|^V' 1> /dev/null
        RC=${?}
        if [ ${RC} -eq 0 ]; then
          echo "${NAME};${LOCATION};${MODEL};${OSVERSION};${FWVERSION};${SERNR};${PARTNER};${CONTACT};" >> ${OUT}
        else
          if [ "${NAME}" != "" ]; then
            echo "${NAME};;;;;;;;"| tee -a ${OUT}
            echo "ERROR ${NAME}"|tee -a ${LOG}
          fi
        fi
      done  # cat
    fi  # if ;
  done  # ls -1
fi  # ls -1

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

