搜索最新文件(显示唯一)

搜索最新文件(显示唯一)

如果我有一个包含 10 个子目录的文件夹结构,每个子文件夹都有可能保存一个文件版本(较旧或较新)“文件夹结构不佳”。

我希望使用“查找”来查找某个日期范围内已修改的所有文件。即时间-60

但我只想显示最近修改的文件(路径和文件名)(版本和日期戳将是一个奖励,但我可以更改以显示此)要显示的唯一文件名

即在 Dir1 和 Dir2 和 Dir3 中可能存在文件 1234.exe,但在 Dir2 中其修改时间比 dir1 和 Dir3 更新

我所有的结果都让我很复杂。我一直在使用

查找| sed | LS | awk | sort 和 tail 也尝试过 stat 和 head

对于最近的。该列表可能相当大(可能 100-200)

答案1

你可以按如下方式进行。同样,有些人可能不同意我的观点,但我就是这样做的。

files=() 
while IFS= read -r
  do files+=("$REPLY"); done < <(find . -type f -mtime -60 -printf '%P\n')

for f in "${files[@]}"; do [[ $f -nt $latest ]] && latest=$f; done
printf 'My latest file is: %s ' "$latest"

相关内容