【发布时间】:2013-06-01 04:19:30
【问题描述】:
我想列出一个文件夹中的所有文件夹,这些文件夹是在最近 n 分钟内创建的。它不应包括文件夹内的子文件夹。 我尝试了以下没有用的方法
ls -d * | find -cmin -60
请给点建议
提前致谢
【问题讨论】:
-
请注意,
find不会读取其标准输入。
我想列出一个文件夹中的所有文件夹,这些文件夹是在最近 n 分钟内创建的。它不应包括文件夹内的子文件夹。 我尝试了以下没有用的方法
ls -d * | find -cmin -60
请给点建议
提前致谢
【问题讨论】:
find 不会读取其标准输入。
例如:
find . -maxdepth 1 -type d -cmin -60 -print | egrep -v '^(\.|\.\.)$' | sed 's/..//'
会查找所有目录,不去子目录,排除.和..
编辑:现在将打印而不是 ./dir 仅 dir
或者,
find . -maxdepth 1 -type d -cmin -60 -printf "%f\n" | egrep -v '^(\.|\.\.)$'
【讨论】:
egrep 与-mindepth 选项一起使用,如下所示:find . -mindepth 1 -maxdepth 1 -type d -cmin -60 -printf "%f\n"
这样做更容易
找到 . -type d -cmin -60 -print
【讨论】:
-maxdepth 1 选项仅在当前目录中查找内容