From c7c1c20c70633236f0fa172cdcb90284b2d0ab33 Mon Sep 17 00:00:00 2001 From: q Date: Mon, 15 Feb 2016 22:55:47 +0200 Subject: [PATCH] additional dev of archival --- files/archive_subfolders | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/files/archive_subfolders b/files/archive_subfolders index 161a6c8..f0b2e89 100755 --- a/files/archive_subfolders +++ b/files/archive_subfolders @@ -4,8 +4,13 @@ function helpexit() { echo Archive the subfolders of the current directory echo " -z Compress. If not passed, will ask after tar archive" + echo " -n No compression. Exit after tar archive" exit } +function fsize() { + echo -en "\e[2K\r" + ls -sh "$1" | xargs echo -n +} [[ "$1" = "-h" ]] && helpexit @@ -21,14 +26,18 @@ find . -mindepth 1 -maxdepth 1 -type d -print0 | sort | while read -r -d "" d; d echo -n $d tar cvf "$d.tar" $d > "$d.tar.txt" & PID=$! - while kill -0 "$PID" >/dev/null 2>&1; do - sleep 5 - echo -en "\r" - ls -sh "$d.tar" | xargs echo -n + while kill -0 "$PID" &>/dev/null; do + for i in {1..5}; do + sleep $i; kill -0 "$PID" &>/dev/null || break 2 + done + fsize "$d.tar" done - echo -en "\r" - ls -sh "$d.tar" + fsize "$d.tar" + echo '' done +[[ "$1" = "-n" ]] && { + exit +} [[ "$1" = "-z" ]] || { echo 'Proceed to compress? to quit' read foo @@ -39,11 +48,12 @@ find . -mindepth 1 -maxdepth 1 -type d -print0 | sort | while read -r -d "" d; d gzip "$d.tar" PID=$! while kill -0 "$PID" >/dev/null 2>&1; do - sleep 5 - echo -en "\r" - ls -sh "$d.tar" | xargs echo -n + for i in {1..5}; do + sleep $i; kill -0 "$PID" &>/dev/null || break 2 + done + fsize "$d.tar.gz" done - echo -en "\r" - ls -sh "$d.tar" + fsize "$d.tar.gz" + echo '' done