如何获取多个文件夹中的前2个文件?

如何获取多个文件夹中的前2个文件?

我的要求是获取子文件夹中最近的 2 个文件。

我们有 10 个文件夹,每个文件夹有 10 个文件,我需要获取所有 10 个文件夹中最近的 2 个文件。

请建议脚本或命令。

答案1

如果您指的是每个目录中最近修改的 2 个常规文件,其中zsh

dirs=(dir1 dir2...)
files=()

for dir ($dirs) files+=($dir/*(DN.om[1,2]))
(($#files)) && ls -ld -- $files

如果您的意思是所有目录中最近修改的 2 个常规文件,其中包含 GNUfindxargs最近的 GNU sed

find dir1 dir2... -mindepth 1 -maxdepth 1 -type f -printf '%T@:%p\0' |
  sort -rzn | sed -z 's/[^:]*://;2q' | xargs -r0 ls -ld --

相关内容