2012-10-17 49 views
1

我有一個文件:AWK-如何改進這個例子?

AA jeden 
BB dwa 
CC trzy 
DD cztery 
EE piec 
FF szesc 
to ttttttt 
GG siedem 
HH osiem 
II dziewiec 
JJ dziesiec 
JJ jola 
EE ela 
BB baska 
FF flora 
II irga 
AA adam 
to llll 
DD darek 
CC celina 
HH hela 
GG gosia 

此命令打印:

$ awk '{ count[$1] = count[$1] " " $2 }; END { for (key in count) { print count[key] }}' file 
jeden adam 
dwa baska 
ttttttt llll 
trzy celina 
cztery darek 
piec ela 
szesc flora 
siedem gosia 
osiem hela 
dziewiec irga 
dziesiec jola 

我想打印:

jeden adam 
dwa baska 
ttttttt llll 
trzy celina 
cztery darek 
piec ela 
szesc flora 
siedem gosia 
osiem hela 
dziewiec irga 
dziesiec jola 

如何在野外$ 1的前刪除空的空間?

謝謝你的幫助。

+0

注意「;」在你的命令是一個無用的空聲明,只是擺脫它。 –

+0

感謝您的關注。 – Tedee12345

回答

4
awk '{ count[$1]=(count[$1])?count[$1] " " $2 :$2 }; END { for (key in count) { print count[key] }}' file 

如果空分配,否則附加。

+0

謝謝你的解決方案。 – Tedee12345

4
awk '{ count[$1] = count[$1] sep[$1] $2; sep[$1] = " " } END { for (key in count) { print count[key] }}' file 
+0

謝謝你的解決方案。 – Tedee12345