使用 find 命令查找具有最新日期的文件

Find files with latest dates with find command

我有一段代码需要找到下面提到的 3 种模式的最新修改日期文件。

array=( $(find /path -maxdepth 1 -type f \( -name "REF_DATA*" -o -name "XR_CUST_LIST*"  -o -name "PB_INSIGHTS*" \) -printf '%f\n' ))

基本上/path目录下可以有很多日期的文件,但我需要选择最新的。 我怎样才能做到这一点?

一个选项是这个命令行(保持你的第一种方法):

array=( $(find /path -maxdepth 1 -type f \( -name "REF_DATA*" -o -name "XR_CUST_LIST*"  -o -name "PB_INSIGHTS*" \) -printf '%c %f\n' ))|sort |tail -n 1

关注added/updated部分:

-printf '%c %f\n' ))|sort |tail -n 1
  • 在printf选项中添加%c添加文件的更新时间
  • 添加 排序 以按此日期排序此列表
  • 添加 tail -n1 以获得此列表的最后一个元素,即此处最后更新的文件