在每个目录中查找最新版本的文件

时间:2016-07-19 18:22:19

标签: linux bash find command

我有包含版本的文件,即每个文件的2位数字后缀

  

例如:dphy / 05E2.01,dphy / 05E2.00,pll / 05E2.43,pll / 05E2.42 ......

我正在编写一个脚本来处理这些文件。能够列出仅使用以下命令的版本化文件

find /path/ -type f -name '*.[0-9][0-9]'

但我只对每个目录中最新版本的文件感兴趣,即

  

dphy / 05E2.01,pll / 05E2.43

那么,如何仅列出最新版本?

1 个答案:

答案 0 :(得分:2)

find /path/ -type f -name '*.[0-9][0-9]' |
awk -F '.' '{k=$0; sub(/\.[^.]+$/, "", k)} $NF>=max[k]{max[k]=$NF} 
      END{for (i in max) print i FS max[i]}'

/path/pll/05E2.43
/path/dphy/05E2.01