用脚本处理文本
有如下文本,其中前5行内容为
1111111:13443253456
2222222:13211222122
1111111:13643543544
3333333:12341243123
2222222:12123123123
用shell脚本处理后,按下面格式输出:
[1111111]
13443253456
13643543544
[2222222]
13211222122
12123123123
[3333333]
12341243123
思路:
以1111111开头部分为下标,
#! /bin/bash
sort -n filename |awk -F ':' '{print $1}'|uniq >id.txt
for id in `cat id.txt`; do
echo "[$id]"
awk -F ':' '$1=="'$id'" {print $2}' filename
done
测试
统计个数
[root@docker tmp]# awk -F ":" '{++a[$1]}END{for(i in a)print "["i"]" a[i]}' filename