summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2010-04-01 17:21:31 +0200
committerReiner Herrmann <reiner@reiner-h.de>2016-01-31 22:51:11 +0100
commitec2cb14e47786e474616238286caa38cef7f1477 (patch)
treea46727e1d2e85a51e501c7333f328d3e43e9eaec
parente330d318d8f4bc3773319c4c451cbd71b9367344 (diff)
movielen: support --total to sum the time
-rwxr-xr-xmovielen.sh31
1 files changed, 27 insertions, 4 deletions
diff --git a/movielen.sh b/movielen.sh
index e39ba57..2d95a30 100755
--- a/movielen.sh
+++ b/movielen.sh
@@ -16,6 +16,19 @@
# 0m8.981s
#
+TOTAL_TIME=0
+
+output ()
+{
+ # seconds in $1
+ TIME=$1
+
+ HOURS=$(( $TIME/3600 ))
+ MINUTES=$(( $(($TIME-$HOURS*3600))/60 ))
+ SECONDS=$(( $TIME%60 ))
+ printf " %i:%.2i:%.2i" $HOURS $MINUTES $SECONDS
+}
+
print_time ()
{
FILENAME=$1
@@ -31,15 +44,25 @@ print_time ()
echo "$0: $FILENAME: Unrecognized format" 1>&2
return 1
fi
+
+ TOTAL_TIME=$(( TOTAL_TIME + TIME ))
- HOURS=$(( $TIME/3600 ))
- MINUTES=$(( $(($TIME-$HOURS*3600))/60 ))
- SECONDS=$(( $TIME%60 ))
- printf " %i:%.2i:%.2i - $FILENAME\n" $HOURS $MINUTES $SECONDS
+ output $TIME
+ echo " - $FILENAME"
}
for filename in "$@";
do
+ if [ "$filename" = "--total" ];
+ then
+ continue
+ fi
print_time "$filename";
done
+if [ "$1" = "--total" ];
+then
+ output $TOTAL_TIME
+ echo " total"
+fi
+