免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1829 | 回复: 4
打印 上一主题 下一主题

如何实现将field1相同的记录的field2合并到一行中? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-09 15:21 |只看该作者 |倒序浏览
输入:
1 aaa
1 asdf
1 dsafdsa
2 adsf
2 frgfd
2 grsdfg
2 fdsdsaf
3 adfads
3 adsfads
3 23rew
输出:
1 aaa  asdf  dsafds
2 ads  frgfd  grsdfg  fdsdsaf
3 adfads    adsfads  23rew

论坛徽章:
0
2 [报告]
发表于 2010-11-09 16:26 |只看该作者
  1. awk '{if( seq!=$1 ){printf("\n");seq=$1};if(seq==$1){printf("%s %s ",$1,$2); }}' t.txt
复制代码

论坛徽章:
0
3 [报告]
发表于 2010-11-09 16:28 |只看该作者
  1. [oracle@s12071 ~]$ cat  file
  2. 1 aaa
  3. 1 asdf
  4. 1 dsafdsa
  5. 2 adsf
  6. 2 frgfd
  7. 2 grsdfg
  8. 2 fdsdsaf
  9. 3 adfads
  10. 3 adsfads
  11. 3 23rew
  12. [oracle@s12071 ~]$ awk '{if($1 in a)a[$1]=a[$1]" "$2; else a[$1]=$2}END{for(i in a) print i,a[i]}' file
  13. 1 aaa asdf dsafdsa
  14. 2 adsf frgfd grsdfg fdsdsaf
  15. 3 adfads adsfads 23rew
  16. [oracle@s12071 ~]$
复制代码

论坛徽章:
0
4 [报告]
发表于 2010-11-09 16:57 |只看该作者

  1. awk '{a[$1]=a[$1]" "$2}END{for (i in a) print i,a[i]}' file
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-11-09 17:05 |只看该作者
lkk2003rty 发表于 2010-11-09 16:28



    能详细解释下吗?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP