无限递归,同时显示每个目录的时间

无限递归,同时显示每个目录的时间

我想递归显示当前目录中的所有目录,但我还想显示完整的日期和时间(即使 6 个月后)。考虑到我使用的是 Mac,因此我不得不使用 FreeBSD 格式,相当于:

ls -aldFT ./*/*/*/*

我想进行无限递归,但似乎无法将 -R 与 FT 参数结合使用?还是我遗漏了某些显而易见的东西?

答案1

您可以使用zshglobstar 功能-

ls -aldFT **/*

ksh必须打开该功能

set -G
ls -aldFT **/*

如果你已经安装了 bash 4

shopt -s globstar
ls -aldFT **/*

或者你可以find使用stat

find . -exec  stat -f '%Sp %4l   %10Su   %8Sg %12z  %22Sm   %N' {} +

答案2

这确实很有帮助,谢谢!我最终需要的是:

find . -type d -exec  stat -f '%22Sm   %N' {} +

但是 22Sm 是什么意思呢?如果我改变其中的数字,我不会注意到有什么不同。

附言:我选择该解决方案主要是因为:

ls -aldFT **/* 

只是导致参数列表太长,在将 bash 更新到 4.0 之后使用这个功能真的很烦人:)

相关内容