Bash Linux中的目录清理

Bash Linux中的目录清理,bash,Bash,我有一个linux目录,其中有很多文件,大约64K文件,基本上都是日志文件 每次作业运行时,它会创建大约9个日志文件,5个是文本文件,4个是bin文件,所有这些日志文件都位于步骤1中提到的目录中。。。。这9个文件的基本文件名相同。因此,约7000个基本文件名构成了约64000个总文件 因此,我的任务是通过将bin文件移动到另一个目录来清理目录,但将最新的bin文件保留在同一目录中 因此,文件名如下所示: DM_D_COVERAGE.log.0.bin DM_D_COVERAGE.log.1.bi

我有一个linux目录,其中有很多文件,大约64K文件,基本上都是日志文件

每次作业运行时,它会创建大约9个日志文件,5个是文本文件,4个是bin文件,所有这些日志文件都位于步骤1中提到的目录中。。。。这9个文件的基本文件名相同。因此,约7000个基本文件名构成了约64000个总文件

因此,我的任务是通过将bin文件移动到另一个目录来清理目录,但将最新的bin文件保留在同一目录中

因此,文件名如下所示:

DM_D_COVERAGE.log.0.bin
DM_D_COVERAGE.log.1.bin
DM_D_COVERAGE.log.2.bin
DM_D_COVERAGE.log.3.bin
它们都有不同的最后修改日期


如果您需要更多信息,请在评论中告诉我。

logrotate
是该工作的工具。请参阅。

如何检测“最新”的bin文件?
DM_D_COVERAGE
在所有文件中都是常量吗?您已经尝试了什么?因此每个作业创建9个日志文件:-5个文本文件和4个.bin文件。这些日志文件的基本名称相同。因此,在上面的示例中,DM_D_COVERAGE.log是基本文件。到目前为止,我的方法是捕获数组中的所有.log文件名。然后使用该数组创建另一个数组,该数组将使用硬编码名称作为基本文件名。0.bin、.1.bin等。现在,我需要在日志目录中查找数组2中的文件名,以确定它们的上次修改日期。一旦我有了所有文件的上次修改日期,我就可以保留最新的.bin文件,并将其余文件移动到另一个目录。从昨天起,我就没有收到任何回复。可能是什么问题?\n这些不是Linux日志文件,而是由安装在Linux上的其他工具创建的文件。