如何列出超过x天的linux中的文件夹而不列出其内容?

时间:2018-01-16 14:53:05

标签: linux

我的文件夹结构如下: -

drwxr-xr-x. 2 200 200 4096 Dec  8 10:07 2
drwxr-xr-x. 2 200 200 4096 Dec 10 04:29 3
drwxr-xr-x. 2 200 200 4096 Dec 10 04:55 4
drwxr-xr-x. 2 200 200 4096 Dec 11 04:55 5
drwxr-xr-x. 2 200 200 4096 Dec 12 06:25 6
drwxr-xr-x. 2 200 200 4096 Jan 16 01:04 7
drwxr-xr-x. 2 200 200 4096 Jan 16 05:03 8
-rw-r--r--. 1 200 200  496 Jan 16 07:57 a.xml
-rw-r--r--. 1 200 200   40 Jan 16 07:57 a.xml.sha1
-rw-r--r--. 1 200 200   32 Jan 16 07:57 a.xml.md5
drwxr-xr-x. 2 200 200 4096 Jan 16 07:57 9

以上所有目录都包含一些文件。

我只需要列出此目录中超过30天的文件夹,省略输出中的* .xml文件。只应列出文件夹

2
3
4
5
6

我尝试在命令下运行,但我也在输出中获取内容。

find . -type d -mtime +30 -exec ls {} \;
2  3  4  5  6 
2.prop 3.prop 4.prop 5.prop 6.prop

我也试过在命令下运行,但没有得到任何输出。

find . -type d -mtime +30 -exec ls -l {} \; | grep '^d' | awk ‘{print $9}’

我也试过下面的命令,但没有得到所需的输出。

find . -type d -mtime +30 -exec ls -ld {} \;
drwxr-xr-x. 2 200 200 4096 Dec  8 10:07 ./2
drwxr-xr-x. 2 200 200 4096 Dec 10 04:29 ./3
drwxr-xr-x. 2 200 200 4096 Dec 10 04:55 ./4
drwxr-xr-x. 2 200 200 4096 Dec 11 04:55 ./5
drwxr-xr-x. 2 200 200 4096 Dec 12 06:25 ./6

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

列出所有目录,包括子目录:

find . -type d -mtime +30

如果您只想要当前目录中的目录(即非子目录),请使用-maxdepth 1标志

find . -maxdepth 1 -type d -mtime +30