Bash 仅在当前目录中列出x天以前的所有文件

Bash 仅在当前目录中列出x天以前的所有文件,bash,shell,unix,Bash,Shell,Unix,我是unix新手,在其他问题上无法获得适当的结果 我只想列出当前目录中早于x天的文件。我有以下限制 仅列出当前文件夹中早于30的文件 日子 输出不应包括目录和子目录 这应该列出与“ls”命令类似的文件 输出应类似于file1 file2 file3.. 我用查找-mtime+30。但这也会提供文件和子目录中的文件。我想限制递归搜索,而不是在目录内搜索 提前多谢 您可以使用查找-maxdepth 1可排除子目录。您可以执行以下操作: find ./ -maxdepth 1 -type f -m

我是unix新手,在其他问题上无法获得适当的结果

我只想列出当前目录中早于x天的文件。我有以下限制

  • 仅列出当前文件夹中早于30的文件 日子
  • 输出不应包括目录和子目录
  • 这应该列出与“ls”命令类似的文件
  • 输出应类似于
    file1 file2 file3..
我用
查找-mtime+30
。但这也会提供文件和子目录中的文件。我想限制递归搜索,而不是在目录内搜索


提前多谢

您可以使用
查找-maxdepth 1可排除子目录。

您可以执行以下操作:

find ./ -maxdepth 1 -type f -mtime +30 -print
如果有问题,请执行以下操作:

find ./ -depth 1 -type f -mtime +30 -print

要添加@Richasantos的答案:

这个很好用

$ find . -maxdepth 1 -type f -mtime +30
印刷品:

./file1
./file2
./file3
现在,您可以将其传送到任何您想要的地方。假设您要删除所有这些旧文件:

$ find . -maxdepth 1 -type f -mtime +30 -print | xargs /bin/rm -f
$ find . -maxdepth 1 -type f -mtime +30 -print0 | xargs -0 /bin/rm -f
人工查找
:``

如果您将find的输出管到另一个程序中,并且您所搜索的文件可能包含一个换行符的可能性极小,那么您应该认真考虑使用<代码> -Prrt0选项,而不是<代码> -Prime< /Cord> 所以使用

-print0

$ find . -maxdepth 1 -type f -mtime +30 -print0
打印(中间有空字符):

并像这样用于删除这些旧文件:

$ find . -maxdepth 1 -type f -mtime +30 -print | xargs /bin/rm -f
$ find . -maxdepth 1 -type f -mtime +30 -print0 | xargs -0 /bin/rm -f

与此稍有不同的是:
find
功能极其广泛,您可以按如下方式指定大小和时间:

这将查找4个月或更久且大于1兆的所有日志。 如果删除+号,它将查找大致相同大小的文件

find /var/log -type f -mtime +120 -size +1M
/var/log/anaconda/journal.log
/var/log/ambari-agent/ambari-alerts.log.23
/var/log/ambari-agent/ambari-alerts.log.22
/var/log/ambari-agent/ambari-alerts.log.24
/var/log/ambari-agent/ambari-alerts.log.25
/var/log/ambari-agent/ambari-alerts.log.21
/var/log/ambari-agent/ambari-alerts.log.20
/var/log/ambari-agent/ambari-alerts.log.19
更棒的是,您可以将其输入到
ls

find /var/log -type f -mtime +120 -size +1M -print0 | xargs -0 ls -lh
-rw-r--r--. 1 root root 9.6M Oct  1 13:24 /var/log/ambari-agent/ambari-alerts.log.19
-rw-r--r--. 1 root root 9.6M Sep 27 07:44 /var/log/ambari-agent/ambari-alerts.log.20
-rw-r--r--. 1 root root 9.6M Sep 22 03:32 /var/log/ambari-agent/ambari-alerts.log.21
-rw-r--r--. 1 root root 9.6M Sep 16 23:23 /var/log/ambari-agent/ambari-alerts.log.22
-rw-r--r--. 1 root root 9.6M Sep 11 19:12 /var/log/ambari-agent/ambari-alerts.log.23
-rw-r--r--. 1 root root 9.6M Sep  6 15:02 /var/log/ambari-agent/ambari-alerts.log.24
-rw-r--r--. 1 root root 9.6M Sep  1 10:51 /var/log/ambari-agent/ambari-alerts.log.25
-rw-------. 1 root root 1.8M Mar 11  2019 /var/log/anaconda/journal.log

查看
人工查找
。查找:未知谓词`-maxdepth=1'