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