题解 | #处理文本#
处理文本
http://www.nowcoder.com/practice/908d030e676a4fac997a127bfe63da64
#! /usr/bin/env bash
########################################################
#
#
########################################################
function solution_1() {
declare -A map
while read line; do
arr=(${line/:/ })
map["${arr[0]}"]="${map["${arr[0]}"]}${arr[1]}\n"
done < nowcoder.txt
k=0
for i in ${!map[*]}; do
[ $k -eq 0 ] && k=1 && tmp="[$i]\n${map[$i]}" && continue
printf "[$i]\n${map[$i]}"
done
printf "$tmp"
}
########################################################
#
#
########################################################
function solution_2() {
declare -A map
for line in `sort -n -t':' -k1 nowcoder.txt`; do
arr=(${line/:/ })
map["${arr[0]}"]="${map["${arr[0]}"]}${arr[1]}\n"
done
for i in ${!map[*]}; do
printf "[$i]\n${map[$i]}"
done
printf "$tmp"
}
solution_1
