如果同一目录中不同文件的数量超过30,则删除文件

如果同一目录中不同文件的数量超过30,则删除文件

该文件夹中填充了一些每天、每周或每月运行的作业。例如。日常工作产出如下:

daily-2017-16-08.txt
daily-2017-15-08.txt

每周就像:

weekly-2017-01-08.txt
weekly-2017-08-08.txt

每月就像:

monthly-2017-01-08.txt
monthly-2017-01-07.txt

答案1

像这样的东西吗?

#!/bin/bash
for FILE_TYPE in daily weekly monthly 
do
     COUNTER=0
     for FILE in $(ls -t ${FILE_TYPE}-*)
     do
        let COUNTER++
        [ ${COUNTER} -gt 30 ] && rm ${FILE}
     done
done

相关内容