聚合 key-value 转为 key-valueList
一个文件A.tmp的内容如下:
10.9.20.1 m1 10.9.20.2 m1 10.9.20.3 m1 10.9.20.1 m2 10.9.20.2 m2 10.9.20.3 m2
想输出格式为:
m1: (10.9.20.1 10.9.20.2 10.9.20.3) m2: (10.9.20.1 10.9.20.2 10.9.20.3)
办法一:
java实现:
1. 定义Map<String,StringBuilder> map
2. 文件按行读入、split拆分,“m1”部分作为key,“10.9.20.1”部分追加到value
3. 遍历map,输出
办法二:
shell脚本实现:
1. 输出到文件:
awk -F ' ' '{print $1" " >> "tmp_dir/"$2}' A.tmp
2. 遍历叠加:
for file in ` ls tmp_dir/` do target=$target""$file":"`cat "tmp_dir/"$file`"<br/>" done