awk把第1列相同的第2列按“;”拼起来,最后输出第1列和拼起来的结果


[root@localhost cc]# cat 2.txt
adc 3 5
a d a
a 3 adf
a d b
a 3 adf

第1列相同的第2列按";"拼起来,最后输出第1列和拼起来的结果:

[root@localhost cc]# awk '{a[$1]=a[$1] ";"$2} END{for (i in a)print i,a[i]}' 2.txt |sed 's/;//'
a d;3;d;3
adc 3

第1列相同的第2和第3列按";"拼起来,第2和第3列之间用“,”分割,最后输出第1列和拼起来的结果:

[root@localhost cc]# awk '{a[$1]=a[$1] ";"$2","$3} END{for (i in a)print i,a[i]}' 2.txt |sed 's/;//'
a d,a;3,adf;d,b;3,adf
adc 3,5

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM