#!/bin/bash
#
CMD=$(basename $0)
CMDVER="1.0"
CMDSTR="$CMD v$CMDVER (2025-07-11)"

usage()
{
	echo "
== $CMDSTR ==

compute total disk usage from a list of files

usage:	$CMD file(s)...

	ls | $CMD 	(read filelist from stdin)
" >&2
	exit 1
}


get_total_size()
{
        local tot=0

        (
		if [ $# != 0 ]
        	then
                	ls -d "$@"
        	else
                	cat
        	fi | while read fname
        	do
                	[ -f "$fname" ] || continue
                	du -m "$fname"
			du -m "$fname" >&2
        	done | sed -e 's/\s.*//'

        	echo END
	) | while read size
	do
        	case $size in
			END)	echo "$tot"; return 0 ;;
		esac
        	tot=$(($tot+$size))
        done
}




# (MAIN)

case ${1:-} in
 -*)	usage ;;
esac

tsize=$(get_total_size "$@")

# output in Mb
echo $tsize

exit 0
