clear
echo "Enter Directory 1:"
read dir1
echo "Enter Directory 2:"
read dir2
if [ ! -d $dir1 ] || [ ! -d $dir2 ]; then
 echo "dir1 not exist"
 exit 1
fi
`echo ls $dir1`>dir1.txt
`echo ls $dir2`>dir2.txt
echo "==============="
totalfile1=`wc -w dir1.txt|cut -c 8-9`  # HOME
totalfile2=`wc -w dir2.txt|cut -c 8-9`  # HOME
# totalfile1=`wc -w dir1.txt|cut -c 1-2`    # COLLEGE
# totalfile2=`wc -w dir2.txt|cut -c 1-2` # COLLEGE 
echo "totalfile:$totalfile1"
echo "totalfile:$totalfile2"
mkdir NEW_DIR
# copying all files from dir1 and comparing each file with files in dir2
i=$totalfile1
flag=0
while [ $i -ge 1 ] 
do
 file1=`tail -n $i dir1.txt | head -n 1`
 i=`expr $i - 1`
 flag=0
 j=$totalfile2
 while [ $j -ge 1 ] 
 do          
  file2=`tail -n $j dir2.txt | head -n 1`
  j=`expr $j - 1`          if [ "$file1" == "$file2" ];then
    flag=1
str1=`ls -l $dir1/$file1 | cut -d " " -c 50-55` 
# HOME
str2=`ls -l $dir2/$file2 | cut -d " " -c 50-55`  # HOME
# str1=`ls -l 3.sh|cut -d " " -f 7`     # COLLEGE
# str2=`ls -l 3a.sh|cut -d " " -f 7`    # COLLEGE
   hh1=`echo $str1 | cut -c 1-2`
   ss1=`echo $str1 | cut -c 4-5`
   hh2=`echo $str2 | cut -c 1-2`
   ss2=`echo $str2 | cut -c 4-5`
   # echo "hh1:$hh1 and ss1:$ss1";
   # echo "hh2:$hh2 and ss2:$ss2";
   if [ $hh1 -eq $hh2 ];then
    if [ $ss1 -le $ss2 ];then
     cp $dir2/$file2 NEW_DIR
    else
     cp $dir1/$file1 NEW_DIR
    fi
   else
    if [ $hh1 -le $hh2 ];then
     cp $dir2/$file2 NEW_DIR
    else
     cp $dir1/$file1 NEW_DIR
    fi
   fi
  fi
 done
 if [ $flag -eq 0 ];then
  cp $dir1/$file1 NEW_DIR
 fi
done
# copying remaining files that are in dir2 but not in 
dir1
i=$totalfile2
flag=0
while [ $i -ge 1 ] 
do
 file1=`tail -n $i dir2.txt | head -n 1`
 i=`expr $i - 1`
 flag=0
 j=$totalfile1
 while [ $j -ge 1 ] 
 do            
  file2=`tail -n $j dir1.txt | head -n 1`
  j=`expr $j - 1`        
  if [ "$file1" == "$file2" ];then
   flag=1
  fi
 done
 if [ $flag -eq 0 ];then
  cp $dir2/$file1 NEW_DIR
 fi
done
 
1 comments:
output are differ then programming expectation :) its self modified
Post a Comment