免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Shell awk
12
最近访问板块 发新帖
楼主: jason9699
打印 上一主题 下一主题

[文本处理] awk [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-08-16 15:05 |只看该作者
awk '{a[$1]=$2","a[$1]}END{for(i in a)print i,a[i]}' urfile

论坛徽章:
0
12 [报告]
发表于 2013-08-16 15:50 |只看该作者
回复 10# yinyuemi

这个貌似又有多余的,号了.上一个已经去掉多余的,号了.


   

论坛徽章:
0
13 [报告]
发表于 2013-08-16 15:56 |只看该作者
原数据
a1 hdsk1
a1 hdk2
b1 hdk3
a1 hdisk5
a1 hdk6
b1 hdk7
c1 hk8
b1
c2
   


想要输出结果
a1 hdsk1,hdk2,hdisk5,hdk6
b1 hdk3,hdk7
c1 hk8
c2


现在出来的类似
a1 hdsk1,hdk2,hdisk5,hdk6
b1 hdk3,hdk7,
c1 hk8


b1 hdk3,hdk7, 不想要这个,号
但c2还要

有办法么?谢谢

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
14 [报告]
发表于 2013-08-16 16:00 |只看该作者
回复 13# jason9699
  1. echo 'a1 hdsk1
  2. a1 hdk2
  3. b1 hdk3
  4. a1 hdisk5
  5. a1 hdk6
  6. b1 hdk7
  7. c1 hk8
  8. b1
  9. c2' |awk 'a[$1]&&NF==1{next}{a[$1]=a[$1]?a[$1]","$2:$0}END{for(i in a)print a[i]}'
  10. a1 hdsk1,hdk2,hdisk5,hdk6
  11. b1 hdk3,hdk7
  12. c1 hk8
  13. c2
复制代码

论坛徽章:
0
15 [报告]
发表于 2013-08-20 11:33 |只看该作者
回复 14# yinyuemi

是我敲错了,这个好用,多谢!


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP