1. 程式人生 > >awk將相同鍵值的字串拼接一起輸出

awk將相同鍵值的字串拼接一起輸出

awk將相同鍵值的字串拼接一起輸出。每一行中第一列的資料是鍵,其餘列為值。

文字1.txt中的內容是

abc 1 2 3 
abc a1 b1 c1
abc a2 b2 c2
abd a2 b2 c2
hello  hello_value1 hello_value2
hello  hello_value3 hello_value456

awk '{key=$1;$1="";value=$0;sum[key]=sum[key]""value} END{for(i in sum) print i,"=",sum[i]}' 1.txt 

注意,其中字串拼接的操作是雙引號""。

輸出結果為

[[email protected] ~]# awk '{key=$1;$1="";value=$0;sum[key]=sum[key]""value} END{for(i in sum) print i,"=",sum[i]}' 2.txt 
hello =  hello_value1 hello_value2 hello_value3 hello_value456
abc =  1 2 3 a1 b1 c1 a2 b2 c2
abd =  a2 b2 c2
[[email protected] ~]#