clean.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. function clean_dir_by_file_num() {
  2. local err=0; local target=$1; local count=$2
  3. test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; }
  4. total=`ls -l $target | grep '^-' | wc -l`
  5. to_delete=$[${total} - ${count}]
  6. test $to_delete -gt 0 && {
  7. for var in `ls -ltr $target | grep '^-' | head -n $to_delete | awk '{print $9}'`; do
  8. test -f $target/$var || { show_error "File $target/$var doesn't exist or it's not a file!" "$FUNCNAME";}
  9. show_notice "Deleting $target/$var ..." "$FUNCNAME"
  10. rm -rf $target/$var 2>&1 || { show_error "Error on del $target/$var" "$FUNCNAME"; }
  11. done
  12. }
  13. return $err;
  14. }
  15. function clean_dir_by_dir_num() {
  16. local err=0; local target=$1; local count=$2
  17. test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; }
  18. total=`ls -l $target | grep '^d' | wc -l`
  19. to_delete=$[${total} - ${count}]
  20. test $to_delete -gt 0 && {
  21. for var in `ls -ltr $target | grep '^d' | head -n $to_delete | awk '{print $9}'`; do
  22. test -d $target/$var || { show_error "File $target/$var doesn't exist or it's not a file!" "$FUNCNAME";}
  23. show_notice "Deleting $target/$var ..." "$FUNCNAME"
  24. rm -rf $target/$var 2>&1 || { show_error "Error on del $target/$var" "$FUNCNAME"; }
  25. done
  26. }
  27. return $err;
  28. }