Advertisement
VladSmirN

lab1OC

May 18th, 2021
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.10 KB | None | 0 0
  1. #Удаление копий
  2. function deleteCopy  {
  3.  
  4.     path=$1
  5.     dir=$(dirname  -- "$path")
  6.     file=$(basename -- "$path")
  7.     size=$(stat -c%s $path)
  8.     let "size=$size/2"
  9.     copy=$(find $dir  -maxdepth 2 -mindepth 2 -size -${size}c -name $file )
  10.     if  [[ $copy ]]; then
  11.         echo "delete : $copy"
  12.         $(find $dir  -maxdepth 2 -mindepth 2 -size -${size}c -name $file -delete)
  13.     fi 
  14.    
  15. }
  16. #Поиск изображений в папке
  17. function processingImageInFolder {
  18.      
  19.     path2=$1
  20.     #echo $path2
  21.     mapfile -t images < <(find $path2 -maxdepth 1  -name '*.jpg'  -type f  )
  22.     for image in ${images[@]}
  23.         do
  24.             #echo $image
  25.             deleteCopy $image
  26.         done
  27.        
  28. }
  29. #Обход папок
  30. function processingFolder {
  31.     path3=$1
  32.     N=0
  33.     while true
  34.         do
  35.             #echo $N
  36.             mapfile -t folders < <(find $path3 -maxdepth $N -mindepth $N  -type d )
  37.             if  [ ${#folders[@]} = 0 ]; then
  38.                 break  
  39.             fi
  40.              
  41.             for folder in ${folders[@]}
  42.                 do
  43.                     #echo $folder
  44.                     processingImageInFolder $folder
  45.                 done
  46.             let "N=$N+1"
  47.         done
  48.  
  49.  
  50.        
  51. }
  52.  
  53. IFS='\n'
  54. echo start
  55. processingFolder $1
  56. echo finish  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement