您的位置:首页 > 运维架构 > Shell

Shell,文件数大于3,删除最旧的

2013-05-21 10:19 176 查看
假设有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:移除目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: