Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/cmd/pzip/tabulate
1808 views
: tabulate compare output

format=$'%10s %12s %8s %8s\n'

function elapsed
{
	integer ss=0 ds=0 h m s d
	typeset t
	for t
	do	case $t in
		*h*)	h=${t%h*}; t=${t#*h} ;;
		*)	h=0 ;;
		esac
		case $t in
		*m*)	m=${t%m*}; t=${t#*m} ;;
		*)	m=0 ;;
		esac
		t=${t%s}
		case $t in
		*.*)	s=${t%.*}; t=${t#*.}; d=${t#*.} ;;
		*)	s=$t d=0 ;;
		esac
		(( ss += (h * 60 + m) * 60 + s ))
		(( ds += d ))
	done
	while (( ds >= 100 ))
	do	(( ds -= 100 ))
		(( ss += 1 ))
	done
	print -f $'%d.%02d\n' $ss $ds
}

while	read cmd opt part uncompress_size x
do	case $cmd in
	gzip)	method=gzip
		uncompress_size=$opt
		;;
	pzip|rzip)
		method=${part#*-}
		method=${method%.*}
		;;
	*)	continue
		;;
	esac
	read x
	read x compress_real
	read x compress_user
	read x compress_sys
	read x
	read compress_size x
	read x
	read x uncompress_real
	read x uncompress_user
	read x uncompress_sys || break
	print -f "$format" $method $compress_size $(elapsed $compress_user $compressed_sys) $(elapsed $uncompress_user $uncompress_sys)
done