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

标签 linux bash

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

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

最佳答案

您可以使用:

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

关于linux - 如何在 Linux bash 中打印第一列的每个唯一值的最新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285994/

相关文章:

c - 向远程串行发送 2 个字节的十六进制

bash - 使用$(func)调用有问题的函数时,Bash脚本不会在第一次 “exit”调用时退出

git - 推送到gitlab时要求输入密码?

bash - 打破无限循环

arrays - 在 shell 脚本中获取日期

linux - Guake 终端不能充当 gnome 终端

linux - 修改Linux内核中的现有模块

ruby-on-rails - rails/Git : can't push my rails code out to the server ('~/git/myapp.git' does not appear to be a git repository)

linux - 修剪命令行 unix 上的输出

linux - 一天中特定时间段之间的调用旋度