如何在Linux bash中为第一列的每个唯一值打印最新日期

时间:2014-04-25 06:47:03

标签: linux bash

NY2001 May 11 2014
NY2001 May 9 2014
NY2011 Jun 12 2014
NY2019 Jun 19 2014
NY2019 Jun 21 2014

如何在Linux bash中为第一列的每个唯一值打印最新日期。

1 个答案:

答案 0 :(得分:1)

您可以使用:

while read p q; do echo "$p "$(date -d "$q" '+%s'); done < file| awk '
   !($1 in a) || a[$1]<$2{a[$1]=$2} END{for (i in a) {
         printf "%s ", i; system("date \"+%d %b %Y\" -d @" a[i])}}'
NY2019 21 Jun 2014
NY2001 11 May 2014
NY2011 12 Jun 2014