#!/bin/sh # # get_text # # Usage: /opt/ac/get_text # # This script will find ALL ascii/script/command files under current # directory. Then, it will cat those files into : /opt/ac/texts.txt # # By: Angel Corbera, TSID1, Refinery Isla, Curacao # rm /opt/ac/texts.txt /opt/ac/tmp1 /opt/ac/tmp2 /opt/ac/tmp3 > /dev/null 2>&1 DIR=`pwd` ME=`uname -n` TODAY=`date` echo "Finding files under directory ($DIR) ... \c" find . -depth -print > /opt/ac/tmp1 N1=`wc -l /opt/ac/tmp1 | awk '{print $1}'` echo "($N1 files ) Done!" touch /opt/ac/texts.txt /opt/ac/tmp2 /opt/ac/tmp3 echo "Identifying text/script/command files ... \c" for x in `cat /opt/ac/tmp1` do file $x | awk '$0~/text/ || $0~/script/ || $0~/commands/ {print substr ($1,1,length($1)-1)}' >> /opt/ac/tmp2 done N2=`wc -l /opt/ac/tmp2 | awk '{print $1}'` echo ".... ($N2 files) Done!" echo "Getting files size ... \c" for x in `cat /opt/ac/tmp2` do ls -l $x >> /opt/ac/tmp3 done echo "Done!" cat /opt/ac/tmp3 | awk ' NF == 9 && /^-/ { sum += $5 ++filenum } END { printf("\tTotal: %d bytes (%d files)\n", sum, filenum) }' echo "\nDo you really want to create the output file, with that size (y/n)?" read answer if [ $answer = "n" ] then echo "You might edit /opt/ac/tmp2 and delete a few files," echo "based on size list on /opt/ac/tmp3" echo "Exiting!" exit 1 fi echo "Station: $ME \tDate: $TODAY\n" >> /opt/ac/texts.txt echo "ASCII/Script/Command Files under directory: $DIR \n" >> /opt/ac/texts.txt awk '{printf "%10s %9s %0s %0s %0s %-0s\n",$1,$5,$6,$7,$8,$9}' /opt/ac/tmp3 >> /opt/ac/texts.txt for x in `cat /opt/ac/tmp2` do echo "Adding $x ...." echo "\n" >> /opt/ac/texts.txt echo "========== $x ==========" >> /opt/ac/texts.txt echo "\n" >> /opt/ac/texts.txt cat $x >> /opt/ac/texts.txt done echo "\tDone! \tDone! \tDone!" echo "Do not forget to rename /opt/ac/texts.txt !" cd /opt/ac # rm tmp1 tmp2 tmp3