Here's some code that could probably be more efficient but I think does what you want:
Code:
#!/bin/sh
while read TITLE LINE
do
ARR=( $LINE )
for ((N=0; N<${#ARR}; N++))
do
if [[ -z "${ARR[$N]}" ]]
then
break
fi
OLDIFS="${IFS}"
IFS="()"
VAL=( ${ARR[$N]} )
printf "%s %s\n" ${VAL[1]} ${VAL[0]}
IFS="${OLDIFS}"
done | sort -rn | (
echo -n $TITLE
while read I STR
do
echo -n " ${STR}(${I})"
done
echo )
done
exit 0