update numbers less frequent
This commit is contained in:
@@ -25,19 +25,44 @@ for ((i=1; i<=${#@}; i++)) {
|
|||||||
[[ "${#FOLDERS[@]}" -eq 0 ]] && helpexit
|
[[ "${#FOLDERS[@]}" -eq 0 ]] && helpexit
|
||||||
|
|
||||||
function listfiles() {
|
function listfiles() {
|
||||||
while IFS= read -r -d $'\0' line; do
|
while IFS= read -r -d $'\0' line; do
|
||||||
files=$((files+1))
|
files=$((files+1))
|
||||||
printf "\r%02d:%02d:%02d %d" $(($SECONDS/3600)) $(($SECONDS%3600/60)) $(($SECONDS%60)) $files
|
printf "\r%02d:%02d:%02d %d" $(($SECONDS/3600)) $(($SECONDS%3600/60)) $(($SECONDS%60)) $files
|
||||||
done < <(find "$@" \( -type f -or -type l \) -print0)
|
done < <(find "$@" \( -type f -or -type l \) -print0)
|
||||||
printf "\r"
|
printf "\r"
|
||||||
}
|
}
|
||||||
function deletefiles() {
|
function deletefiles() {
|
||||||
i=0
|
i=0
|
||||||
while IFS= read -r -d $'\0' line; do
|
done_update=-10
|
||||||
|
left_update=0
|
||||||
|
filespad=${#files}
|
||||||
|
timeleft=" : : "
|
||||||
|
printf "\r%8s %8s %${filespad}s%${filespad}s %3s %s\n" \
|
||||||
|
Time Left " " Files " " Name
|
||||||
|
while IFS= read -r -d $'\0' line; do
|
||||||
|
# Print progress
|
||||||
i=$((i+1))
|
i=$((i+1))
|
||||||
[[ $files -ne 0 ]] && percent=$((200*$i/$files % 2 + 100*$i/$files))
|
if [[ $(( $SECONDS - $done_update )) -ge 1 ]]; then
|
||||||
printf "\r%02d:%02d:%02d %6d/%d %3d%% %s\033[0K" \
|
done_update=$SECONDS
|
||||||
$(($SECONDS/3600)) $(($SECONDS%3600/60)) $(($SECONDS%60)) $i $files "$percent" "$line"
|
done=$SECONDS
|
||||||
|
[[ $files -ne 0 ]] && percent=$((200*$i/$files % 2 + 100*$i/$files))
|
||||||
|
printf -v timedone "%02d:%02d:%02d" \
|
||||||
|
$(($done/3600)) $(($done%3600/60)) $(($done%60))
|
||||||
|
fi
|
||||||
|
if [[ $(( $SECONDS - $left_update )) -ge 10 ]]; then
|
||||||
|
left_update=$SECONDS
|
||||||
|
left=$(( ($files - $i) * $SECONDS / $i ))
|
||||||
|
left_live=$left
|
||||||
|
else
|
||||||
|
left_live=$(( $left - $SECONDS + $left_update ))
|
||||||
|
fi
|
||||||
|
if [[ -n "$left" ]]; then
|
||||||
|
printf -v timeleft "%02d:%02d:%02d" $(($left_live/3600)) $(($left_live%3600/60)) $(($left_live%60))
|
||||||
|
fi
|
||||||
|
printf "\r%s %s %${filespad}d/%${filespad}d %2d%% %s\033[0K" \
|
||||||
|
"$timedone" "$timeleft" "$i" "$files" "$percent" "$line"
|
||||||
|
|
||||||
|
# Delete file
|
||||||
if [ -L "$line" ]; then
|
if [ -L "$line" ]; then
|
||||||
rm $RMFORCE "$line"
|
rm $RMFORCE "$line"
|
||||||
else
|
else
|
||||||
@@ -47,15 +72,15 @@ function deletefiles() {
|
|||||||
printf "\n"
|
printf "\n"
|
||||||
}
|
}
|
||||||
function listfolders() {
|
function listfolders() {
|
||||||
while IFS= read -r -d $'\0' line; do
|
while IFS= read -r -d $'\0' line; do
|
||||||
folders=$((folders+1))
|
folders=$((folders+1))
|
||||||
printf "\r%02d:%02d:%02d %d" $(($SECONDS/3600)) $(($SECONDS%3600/60)) $(($SECONDS%60)) $folders
|
printf "\r%02d:%02d:%02d %d" $(($SECONDS/3600)) $(($SECONDS%3600/60)) $(($SECONDS%60)) $folders
|
||||||
done < <(find "$@" -type d -print0)
|
done < <(find "$@" -type d -print0)
|
||||||
printf "\r"
|
printf "\r"
|
||||||
}
|
}
|
||||||
function deletefolders() {
|
function deletefolders() {
|
||||||
i=0
|
i=0
|
||||||
while IFS= read -r -d $'\0' line; do
|
while IFS= read -r -d $'\0' line; do
|
||||||
i=$((i+1))
|
i=$((i+1))
|
||||||
[[ $folders -ne 0 ]] && percent=$((200*$i/$folders % 2 + 100*$i/$folders))
|
[[ $folders -ne 0 ]] && percent=$((200*$i/$folders % 2 + 100*$i/$folders))
|
||||||
printf "\r%02d:%02d:%02d %6d/%d %3d%% %s\033[0K" \
|
printf "\r%02d:%02d:%02d %6d/%d %3d%% %s\033[0K" \
|
||||||
@@ -66,7 +91,7 @@ function deletefolders() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# return line wrapping
|
# return line wrapping
|
||||||
trap "printf '\033[?7h'" 1 9 15
|
trap "printf '\033[?7h'" 1 9 15
|
||||||
files=0
|
files=0
|
||||||
folders=0
|
folders=0
|
||||||
if [[ "$NOCOUNT" -ne 1 ]]; then
|
if [[ "$NOCOUNT" -ne 1 ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user