- 论坛徽章:
- 0
|
本帖最后由 lkk2003rty 于 2010-09-10 09:36 编辑
- [super@localhost ~]$ awk -f a.awk file
- 3001 3003 3004 3007 1002 4
- 1001 1003 1000 3
- 2001 2003 1001 3
- [super@localhost ~]$ cat file
- 1001 王一 1000
- 1002 王二 1000
- 1003 王三 1000
- 2001 李一 1001
- 2002 李二 1001
- 2003 李三 1001
- 3001 张一 1002
- 3007 张二 1002
- 3003 张三 1002
- 3004 张四 1002
- [super@localhost ~]$ cat a.awk
- {
- a[$3]++;
- b[$3]=b[$3]" "$1;
- }
- END{
- for(i in a)
- {
- split(b[i],c," ");
- flag=1;
- asort(c);
- for(j=1;j<length(c);j++)
- {
- if(flag==1&&c[j+1]==c[j]+1)
- {printf "%s ",c[j];flag=0}
- if(c[j+1]!=c[j]+1)
- {flag=1;printf "%s ",c[j]}
- }
- printf "%s ",c[j];printf "%s %d\n",i,a[i]
- }
- }
- [super@localhost ~]$
复制代码 |
|