【问题标题】:Duplicated rows must be unique [closed]重复的行必须是唯一的[关闭]
【发布时间】:2016-12-16 21:11:35
【问题描述】:

我的文件内容如下。我想第一列值的总和。但是第 5 列不是唯一的,也不是每秒都有。它应该是唯一的,如果没有第二个,它并不重要。重要的是独一无二的。

 18 /traffic-2.log00980-####<Aug 7, 2016 11:37:34 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:37 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:37:38 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:39 PM EEST
 18 /traffic-2.log00980-####<Aug 7, 2016 11:37:40 PM EEST
 12 /traffic-2.log00980-####<Aug 7, 2016 11:37:41 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:37:42 PM EEST
 18 /traffic-2.log00980-####<Aug 7, 2016 11:37:43 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:44 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:45 PM EEST
 18 /traffic-2.log00980-####<Aug 7, 2016 11:37:43 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:44 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:45 PM EEST
 12 /traffic-2.log00980-####<Aug 7, 2016 11:37:46 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:47 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:48 PM EEST
 17 /traffic-2.log00980-####<Aug 7, 2016 11:37:49 PM EEST
 12 /traffic-2.log00980-####<Aug 7, 2016 11:37:50 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:51 PM EEST
  9 /traffic-2.log00980-####<Aug 7, 2016 11:37:54 PM EEST
  9 /traffic-2.log00980-####<Aug 7, 2016 11:37:55 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:56 PM EEST
 12 /traffic-2.log00980-####<Aug 7, 2016 11:37:57 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:58 PM EEST
  7 /traffic-2.log00980-####<Aug 7, 2016 11:37:59 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:38:00 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:38:01 PM EEST
  9 /traffic-2.log00980-####<Aug 7, 2016 11:37:55 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:37:56 PM EEST
 12 /traffic-2.log00980-####<Aug 7, 2016 11:37:57 PM EEST
 11 /traffic-2.log00980-####<Aug 7, 2016 11:37:58 PM EEST
  7 /traffic-2.log00980-####<Aug 7, 2016 11:37:59 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:38:00 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:38:01 PM EEST
 10 /traffic-2.log00980-####<Aug 7, 2016 11:38:02 PM EEST
 15 /traffic-2.log00980-####<Aug 7, 2016 11:38:03 PM EEST
 13 /traffic-2.log00980-####<Aug 7, 2016 11:38:04 PM EEST

【问题讨论】:

标签: bash shell sorting awk unique


【解决方案1】:

通过 awk;

awk  '!seen[$5]++' yourFile | awk '{ sum+=$1} END {print sum}'

-first awk 删除第 5 列的重复项

-second 是第一个字段的总和。

【讨论】:

  • teşekkür ederim :)
  • İşinize yaradı ise ne mutlu,支持 kullanabilir misiniz。 İyi çalışmalar。
  • 8-10 satırlık bir dosyada denedim dogru sonuç verdi yalnız 153.965 satırlık bir dosyada denedim sonucu linuxte 569.428 verirken aynı dosyayı excel de denedigimde sonucu 2.918.591 verdi
  • awk '!seen[$5]++' yourFile | awk '{打印 $5" "$1}' | sort -n dediğinizde zamana göre sıralama yapacaktır, excel dede zamana göre sıralama yaparak ikisini kıyaslamayı deneyebilir misiniz, böylelikle neden kaynaklandığını bulma ihtimaliniz var.
  • Bu hesabı yesi açtım oy veremiyorum maalesef :( tyamak@hotmail.com 邮件 atabilir misiniz rica etsem?
猜你喜欢
  • 1970-01-01
  • 2017-09-20
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多