function clean_dir_by_file_num() { local err=0; local target=$1; local count=$2 test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; } total=`ls -l $target | grep '^-' | wc -l` to_delete=$[${total} - ${count}] test $to_delete -gt 0 && { for var in `ls -ltr $target | grep '^-' | head -n $to_delete | awk '{print $9}'`; do test -f $target/$var || { show_error "File $target/$var doesn't exist or it's not a file!" "$FUNCNAME";} show_notice "Deleting $target/$var ..." "$FUNCNAME" rm -rf $target/$var 2>&1 || { show_error "Error on del $target/$var" "$FUNCNAME"; } done } return $err; } function clean_dir_by_dir_num() { local err=0; local target=$1; local count=$2 test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; } total=`ls -l $target | grep '^d' | wc -l` to_delete=$[${total} - ${count}] test $to_delete -gt 0 && { for var in `ls -ltr $target | grep '^d' | head -n $to_delete | awk '{print $9}'`; do test -d $target/$var || { show_error "File $target/$var doesn't exist or it's not a file!" "$FUNCNAME";} show_notice "Deleting $target/$var ..." "$FUNCNAME" rm -rf $target/$var 2>&1 || { show_error "Error on del $target/$var" "$FUNCNAME"; } done } return $err; }