#!/bin/bash
#< Parse information generated with lsof_process.sh
cd /var/log/lsof; ls -art | egrep -v '^\.+$' | while read filename; do
TCP_COUNT=`grep TCP ${filename} | wc -l`
UDP_COUNT=`grep UDP ${filename} | wc -l`
IDLE=`grep IDLE ${filename} | wc -l`
FIN_WAIT2=`grep FIN_WAIT2 ${filename} | wc -l`
CLOSE_WAIT=`grep CLOSE_WAIT ${filename} | wc -l`
ESTAB=`grep ESTABLISHED ${filename} | wc -l`
TOTAL_FILES=`sed -e '$d' ${filename} | sed -e '$d' | sed -e '$d' | sed -e '1,6 d' | wc -l`
# echo "${filename} OPEN_FILES: ${TOTAL_FILES} IDLE: ${IDLE} ESTABLISHED: ${ESTAB} CLOSE_WAIT: ${CLOSE_WAIT} FIN_WAIT2: ${FIN_WAIT2} TOTAL_TCP: ${TCP_COUNT}"
printf "%s OPEN_FILES: %4s IDLE: %4s ESTABLISHED: %4s CLOSE_WAIT: %4s FIN_WAIT2: %4s TOTAL_TCP: %4s TOTAL_UDP: %4s\n" "${filename}" "${TOTAL_FILES}" "${IDLE}" "${ESTAB}" "${CLOSE_WAIT}" "${FIN_WAIT2}" "${TCP_COUNT}" "${UDP_COUNT}"
done
exit 0