2017-06-02 33 views
0

讓說,我有一個文件殼牌分組文件重複模式

a,anything,keyboard 
b,anything,mouse 
c,anything,door 
a,anything,monitor 
d,anything,keyboard 

至於結果,我想

a,anything,keyboard - monitor 
b,anything,mouse 
c,anything,door 
d,anything,keyboard 

模式「一」重複,我想「鍵盤」和「監控」合併爲在結果中。

我的問題是如何將圖案在每個行的開始重複(在本例中,「A」)合併成一個線添加什麼是不同的(在本例中,加入的字「監視器」

貓FILE.CSV |切-d '' -f1 |排序-u 結果:

a 
b 
c 
d 

我想要的結果:

a,anything,keyboard - monitor 
b,anything,mouse 
c,anything,door 
d,anything,keyboard 
+1

什麼的,你需要在這裏實現_sorting_一部分? – Inian

+0

我已經增加了我的問題;) – bein

+1

關於如何爲鍵組合收集多個值可能存在很多重複項,但我無法快速找到完全重複此項的項。這並不罕見,我鼓勵你搜索以前的類似問題。 – tripleee

回答

1

我稱之爲分組不是分類

GAWK(GNU AWK)解決方案:

awk -F, 'BEGIN{ PROCINFO["sorted_in"]="@val_str_asc" }{ a[$1]=($1 in a)? a[$1]" - "$3 : $0 } 
     END{ asort(a); for(i in a) print a[i] }' file 

輸出:

a,anything,keyboard - monitor 
b,anything,mouse 
c,anything,door 
d,anything,keyboard