1
輸入文件級聯 - 意外的行爲
steve,apples
steve,oranges
john,pears
john,oranges
mary,bananas
steve,plums
mary,nactarines
我想輸出是這樣的:
steve:apples,oranges,plums
john:pears,oranges
mary:bananas,nectarines
這裏是一個班輪我一直試圖去上班:
awk -F, '{if(a[$1])a[$1]=a[$1]","$2; else a[$1]=$2;}END{for (i in a)print i ":" a[i];}' OFS=, inputfile
它給人的輸出是
,orangesrs
,plumsesples
,nactariness
看起來字符串連接a[$1]=a[$1]","$2
會導致數組元素的原始值在某種程度上被覆蓋。我怎樣才能正確地執行這個連接?
順便說一下,我在Centos和Mac OSX上得到了相同的結果。
我測試了你的awk行,它在這裏給出了期望的輸出。 – Kent
這很奇怪。我的文件是一位顧客給我的,然後我修改/簡化以顯示這個概念證明。我只是從頭開始重新創建文件,並嘿presto,它的工作原理...所以我想知道爲什麼原始文件不起作用! – Santrix
Arrrghhh!該文件來自Windows機器 - 這是額外的CR導致東西被覆蓋。學習到教訓了! – Santrix