【问题标题】:AWK-how to improve this example?AWK-如何改进这个例子?
【发布时间】:2012-10-17 11:15:24
【问题描述】:

我有一个文件:

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字段前面的空白?

感谢您的帮助。

【问题讨论】:

  • 注意“;”在您的命令中是一个无用的空语句,只需摆脱它。
  • 感谢您的关注。

标签: awk


【解决方案1】:
awk '{ count[$1]=(count[$1])?count[$1] " " $2 :$2 }; END { for (key in count) { print count[key] }}' file

如果赋值为空,则追加。

【讨论】:

    【解决方案2】:
    awk '{ count[$1] = count[$1] sep[$1] $2; sep[$1] = " " } END { for (key in count) { print count[key] }}' file
    

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 2012-06-02
      • 2014-08-12
      • 1970-01-01
      • 2011-10-16
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多