Shell编写脚本,检测备份文件数并且删除旧的文件

假设有log-XXX1,log-XXX2,log-XXX3....等文件,但是由于开发板空间有限,因此要控制文件的数量为3个,而且保留最新的那一个,因此想写一个脚本在每次系统启动时执行一些操作。

1 #!/bin/sh
2 
3 
4 if [ $(ls -l | grep "log-*" | wc -l) > 3 ]
5 then
6     echo "file > 3"
7     rm -r $(ls -rt | head -n2)
8 fi

ls -l:目的是按行列出文件

grep "log-*":筛选出包含log-为开头的文件

wc -l:统计行数(也就相当于统计有多少个这样的文件)

ls -rt:把文件按从旧到新的顺序排列

head -n2:选取排列的头两个文件,这个数字2可以任意的改变

rm -r:移除目录

原文地址:https://www.cnblogs.com/cxjchen/p/3042204.html