假设有act-XXX1,act-XXX2,act-XXX3....等文件,要控制文件的数量为3个,而且保留最新的那一个
#!/bin/sh
if [ $(ls -l | grep "act-*" | wc -l) -gt 3 ]
then
echo "file > 3"
rm -r $(ls -rt | head -n2)
fi
ls -l:目的是按行列出文件
grep "act-*":筛选出包含act-为开头的文件
wc -l:统计行数(也就相当于统计有多少个这样的文件)
-gt :大于
ls -rt:把文件按从旧到新的顺序排列
head -n2:选取排列的头两个文件,这个数字2可以任意的改变
rm -r:移除目录