2012-10-17 38 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