declare -A map
while read line; do
arr=(${line/:/ })
    if [ map["${arr[0]}"] ]; then
        map["${arr[0]}"]=${map["${arr[0]}"]}"\n"${arr[1]}
    else
        map["${arr[0]}"]=${arr[1]}
    fi
done < nowcoder.txt
declare -a tmp
tmp+=$(${!map[*]} | tr ' ' '\n' | sort -n)

for i in $(echo ${!map[*]} | tr ' ' '\n' | sort -n); do
    printf "[$i]"
    printf "${map[$i]}\n"
done