#!/bin/bash

####################################################################
#####                                                          #####
#####            AUTHOR: BORIS KIEFER (08/2019)                #####
#####                                                          #####
####################################################################

# THIS SOFTWARE IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY
# USE AT YOUR OWN DISGRESSION
#
# ==> WORK ON A COPY OF THE RECOVERED FILES 
#     IN CASE SOMETHING GOES WRONG

echo
echo "OBJECTIVE: "
echo "PDF ==> TXT ALL DIRECTORIES"
echo "==> FILES REMAIN IN-PLACE"
echo "==> PDFS WITH SMALL TXT FILES ARE MOVED TO A NEW DIRECORY"
echo 

# START PROCESSING THE FILES
dirsize="ZZZSIZE"
ndir=0
nfiles=0
nfdrop=0
nfkeep=0
sizethr=1000

# DIRECTORY IF TXT FILE IS TOO SMALL
mkdir -p $dirsize
echo "TARGET DIRECTORY: $dirsize"

# Loop over recovered directories
for direc in recup_dir.*
 do 

 ndir=$(( $ndir + 1 ))
 echo "SCRIPT: ENTERING $direc"
 cd $direc

#
for cfile in $( ls -1 *pdf )     # LOOP OVER ALL FILES
 do

# Count total number of files
 nfiles=$(( $nfiles + 1 ))

# Convert page 1 ... 5 to clear text
 TEXT=`echo "$cfile" | cut -d. -f1`
 TEXT=$TEXT.txt
 echo "FROM $cfile TO $TEXT"
 pdftotext -f 1 -l 5 $cfile $TEXT

# DETERMINE FILE SIZE AND DECICE IF KEEP OR REMOVED
  size=`ls -ls $TEXT | awk '{print $6}'`
  if [[ $size -le $sizethr ]]; then             # TOO SMALL FILE SIZE

   echo "   ==> TXT TOO SMALL : $cfile"
   nfdrop=$(( $nfdrop + 1 ))
   mv $cfile ../$dirsize
   mv $TEXT  ../$dirsize

  else

   nfkeep=$(( $nfkeep + 1 ))

  fi 

done   # END LOOP OVER FILES

cd ..

done   # END LOOP OVER DIRECTORIES

echo "SUMMARY: "
echo "DIRS                   : $ndir"
echo "NFILES                 : $nfiles"
echo "KEPT                   : $nfkeep"
echo "MOVED                  : $nfdrop"
echo "REGULAR END OF SCRIPT"
