我想递归显示当前目录中的所有目录,但我还想显示完整的日期和时间(即使 6 个月后)。考虑到我使用的是 Mac,因此我不得不使用 FreeBSD 格式,相当于:
ls -aldFT ./*/*/*/*
我想进行无限递归,但似乎无法将 -R 与 FT 参数结合使用?还是我遗漏了某些显而易见的东西?
答案1
您可以使用zsh
globstar 功能-
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 之后使用这个功能真的很烦人:)